一、.颜色配图表
图文颜色引用:建站教程 - FINTHON
二、折线图
jupyter notebook 简介plot()
2.1折线图参数
plt.plot(*args, scalex=True, scaley=True, data=None, **kwargs)
2.2、参数介绍
x:X轴数据,列表或数组,可选。
y:Y轴数据,列表或数组。
format_string:控制曲线的格式字符串,可选。
**kwargs:第二组或更多(x,y,format_string),可画多条曲线。
format_string(由颜色字符、风格字符、标记字符组成)
(1)风格字符举例:
‘‐’ 实线
‘‐‐’ 破折线
‘‐.’ 点划线
‘:’ 虚线
‘’ ’ ’ 无线条
(2)marker标记字符举例:
‘.’ 点标记
‘,’ 像素标记(极小点)
‘o’ 实心圈标记
‘v’ 倒三角标记
‘^’ 上三角标记
‘>’ 右三角标记
‘<’ 左三角标记
(3)**kwargs
这是一大堆可选内容,可以来里面指定很多内容,如“label”指定线条的标签,“linewidth”指定线条的宽度,常用的几个:color 指定颜色,label 线条的标签,linestyle 线条的风格,linewidth 线条的宽度。
这句话摘录原文链接1,起始前保存在show是可以的,我的jupyter可以。
- plt.show()不能和plt.savefig()同时使用,即为展示图片和保存图片不能同时使用!!
- 横坐标与纵坐标可以随意取值,但必须要有!!
- 当scatter()函数中有label属性时,必须要有显示图例语句!!即:plt.legend()
- scatter()函数中还有s属性,为数据点尺寸大小!!
原文链接1:https://blog.csdn.net/qq_45261963/article/details/118086413
原文链接2:https://blog.csdn.net/qq_45154565/article/details/109388499
2.3 折线图代码
x=np.arange(2,6)
ax=plt.figure(figsize=(8,6),facecolor='w')
ax=plt.subplot(111)
ax=plt.plot(x,x*x,'-o', color="lightcoral",label="平方")
ax=plt.plot(x,x*x*x,'-s', color="chocolate")
ax=plt.plot(x,x, 'go--',color="cyan")
plt.legend(['color:lightcoral','color:chocolate','color:cyan'],loc="upper left",fontsize=16)
plt.title("折线图颜色",fontsize=20)
plt.xlabel('x',fontsize=15)
plt.ylabel('y',fontsize=15)
三、散点图
3.1散点图参数
plt.scatter(
x,
y,
s=None,
c=None,
marker=None,
cmap=None,
norm=None,
vmin=None,
vmax=None,
alpha=None,
linewidths=None,
verts=<deprecated parameter>,
edgecolors=None,
*,
plotnonfinite=False,
data=None,
**kwargs,
)
3.2参数介绍
x和y:表示数据点的横纵坐标。
s:表示散点的大小(可选)。
c:表示散点的颜色(可选)。
marker:表示散点的形状(可选)。
cmap:表示散点颜色的映射(可选)。
marker:表示的是标记的样式,默认的是'o' , 可选的参数 ;
cmap:当c是一个浮点数数组的时候才使用, 可选的参数 ;
norm:将数据亮度转化到0-1之间,只有c是一个浮点数的数组的时候才使用, 可选的参数 ;
vmin , vmax:实数,当norm存在的时候忽略。用来进行亮度数据的归一化 , 可选的参数 ;
alpha:实数,0-1之间, 可选的参数 ;
linewidths:标记点的长度, 可选的参数 ;
3.3散点图代码
(1)一个画布多个图
x = [i for i in range(0, 500, 10)]
y1 = [math.sin(math.radians(i)) for i in x]
y2 = [math.cos(math.radians(i)) for i in x] # 步长为 5
ax=plt.figure(figsize=(10,8),facecolor='w')
ax=plt.subplot(111)
ax=plt.scatter(x,y1,c="lightcoral",s=66,label="sin")
ax=plt.scatter(x,y2,c="deeppink",label="cos")
plt.legend(loc='upper center',fontsize=20)
(2)1.一个画布分开画图
x = [i for i in range(0, 50, 5)]
y1 = [math.sin(math.radians(i)) for i in x]
y2 = [math.cos(math.radians(i)) for i in x] # 步长为 5
plt.subplot(131)
plt.title('标准')
plt.scatter(x,y1,c='tomato',linewidths=6)
plt.subplot(132)
plt.title("设置marker 'x'")
plt.scatter(x,y1,c='skyblue',marker='x')
plt.subplot(133)
plt.title("设置marker 'v'")
plt.scatter(x,y1,c='lightpink',marker='v')
四、柱状图
4.1柱状图参数
plt.bar(
x,
height,
width=0.8,
bottom=None,
*,
align='center',
data=None,
**kwargs,
)
4.2参数介绍
其参数具体如下含义:
x 表示 x 坐标,数据类型为 float 类型,一般是通过 np.arange() 生成的固定步长列表。
height 表示柱状图的高度,也就是 y 坐标值,数据类型为 float 类型,一般为一个列表,包含生成柱状图的所有 y 值。
width 表示柱状图的宽度,取值在 0~1 之间,默认值为 0.8。
bottom 表示柱状图的起始位置,也就是 y 轴的起始坐标,默认值为 None。
align 表示柱状图的中心位置,“center”,“lege” 边缘,默认值为 ’center’。
color 表示柱状图颜色,默认为蓝色。
alpha 表示透明度,取值在 0~1 之间,默认值为 1。
label 表示标签,设置后需要调用 plt.legend() 生成。
edgecolor 表示边框颜色 (ec)。
linewidth 表示边框宽度,浮点数或类数组,默认为 None (lw)。
tick_label 表示柱子的刻度标签,字符串或字符串列表,默认值为 None。
linestyle 表示线条样式 (ls)。
4.3代码示例
#国家和奖牌数据导入
countries = ['挪威', '德国', '中国', '美国', '瑞典']
gold_medal = [16, 12, 9, 8, 8]
silver_medal = [8, 10, 4, 10, 5]
bronze_medal = [13, 5, 2, 7, 5]
#将横坐标国家转换为数值
x = np.arange(len(countries))
width = 0.2
#计算每一块的起始坐标
gold_x = x
silver_x = x + width
bronze_x = x + 2 * width
#绘图
plt.bar(gold_x,gold_medal,width=width,color="gold",label="金牌")
plt.bar(silver_x,silver_medal,width=width,color="silver",label="银牌")
plt.bar(bronze_x,bronze_medal,width=width, color="saddlebrown",label="铜牌")
#将横坐标数值转换为国家
plt.xticks(x + width,labels=countries)
#显示柱状图的高度文本
for i in range(len(countries)):
plt.text(gold_x[i],gold_medal[i], gold_medal[i],va="bottom",ha="center",fontsize=8)
plt.text(silver_x[i],silver_medal[i], gold_medal[i],va="bottom",ha="center",fontsize=8)
plt.text(bronze_x[i],bronze_medal[i], gold_medal[i],va="bottom",ha="center",fontsize=8)
#显示图例
plt.legend(loc="upper right")
五、直方图
5.1直方图参数
plt.hist(x, bins=None, range=None, density=None, weights=None, cumulative=False, bottom=None, histtype='bar', align='mid', orientation='vertical', rwidth=None, log=False, color=None, label=None, stacked=False, normed=None, *, data=None, **kwargs)
5.2参数介绍
其参数具体如下含义:
x:作直方图所要用的数据,必须是一维数组;多维数组可以先进行扁平化再作图;必选参数。
bins:直方图的柱数,即要分的组数,默认为 10。
weights:与 x 形状相同的权重数组;将 x 中的每个元素乘以对应权重值再计数;如果 normed 或 density 取值为 True,则会对权重进行归一化处理。这个参数可用于绘制已合并的数据的直方图。
density:布尔,可选。如果为 True,返回元组的第一个元素将会将计数标准化以形成一个概率密度,也就是说,直方图下的面积(或积分)总和为 1。这是通过将计数除以数字的数量来实现的观察乘以箱子的宽度而不是除以总数数量的观察。如果叠加也是真实的,那么柱状图被规范化为 1(替代 normed)。
bottom:数组,标量值或 None;每个柱子底部相对于 y=0 的位置。如果是标量值,则每个柱子相对于 y=0 向上/向下的偏移量相同。如果是数组,则根据数组元素取值移动对应的柱子;即直方图上下便宜距离。
histtype:{‘bar’, ‘barstacked’, ‘step’, ‘stepfilled’};bar 是传统的条形直方图;barstacked 是堆叠的条形直方图;step 是未填充的条形直方图,只有外边框;stepfilled 是有填充的直方图;当 histtype 取值为 step 或 stepfilled,rwidth 设置失效,即不能指定柱子之间的间隔,默认连接在一起。
align:{‘left’, ‘mid’, ‘right’};left 是柱子的中心位于 bins 的左边缘;mid 是柱子位于 bins 左右边缘之间;right 是柱子的中心位于 bins 的右边缘。
color:具体颜色,数组(元素为颜色)或 None。
label:字符串(序列)或 None;有多个数据集时,用 label 参数做标注区分。
normed: 是否将得到的直方图向量归一化,即显示占比,默认为 0,不归一化;不推荐使用,建议改用 density 参数。
edgecolor: 直方图边框颜色。
alpha: 透明度。
原文链接:https://blog.csdn.net/weixin_45891612/article/details/129082746
5.3代码示例
x_value = np.random.randint(140,180,300)
plt.hist(x_value, bins=10, edgecolor='pink',color="green")
plt.title("直方图")
plt.xlabel("x")
plt.ylabel("y")