python散点条形图的绘制
<pre>
import numpy as np
import matplotlib.pyplot as plt
引用样式
plt.style.use('ggplot')
生成200个随机数据
x=np.random.randn(200)
y=x+np.random.randn(200)*0.5
设置坐标系的位置
margin_border=0.1
width=0.6
margin_between=0.02
height=0.2
left_s=margin_border
bottom_s=margin_border
height_s=width
width_s=width
left_x=margin_border
bottom_x=margin_border+width+margin_between
height_x=height
width_x=width
left_y=margin_between+margin_border+width
bottom_y=margin_border
height_y=width
width_y=height
生成rect对象
rect_s=[left_s,bottom_s,width_s,height_s]
rect_x=[left_x,bottom_x,width_x,height_x]
rect_y=[left_y,bottom_y,width_y,height_y]
画出坐标系
axScatter_s=plt.axes(rect_s)
axScatter_x=plt.axes(rect_x)
axScatter_y=plt.axes(rect_y)
上下两个坐标系的x,y坐标取消掉
axScatter_x.set_xticks([])
axScatter_y.set_yticks([])
画出主坐标的散点图
axScatter_s.scatter(x,y,color='b')
设置柱状图的柱子宽度
bin_width=0.25
取x,y的绝对值的最大值
xymax=np.max([np.max(np.fabs(x)),np.max(np.fabs(y))])
确定坐标的的宽度
lim=int(xymax/bin_width+1)*bin_width
设置xy坐标轴的最大最小坐标
axScatter_s.set_xlim(-lim,lim)
axScatter_s.set_ylim(-lim,lim)
生成柱状图的横坐标上的点
bins=np.arange(-lim,lim+bin_width,bin_width)
画出柱状图x
axScatter_x.hist(x,bins=bins)
画出柱状图y
axScatter_y.hist(y,bins=bins,orientation='horizontal')
设置x,y坐标的极限值
axScatter_x.set_xlim(axScatter_s.get_xlim())
axScatter_y.set_ylim(axScatter_s.get_ylim())
设置坐标的title,但是位置出现的地方需要调整
plt.title('scatter and hist')
显示出该图像
plt.show()
</pre>