精美图表网站推荐,食品建设网站前的市场分析,哪个网站可以做头像,金融公司网站源码目录
目录
一、绘制折线图
1.使用pyplot
2.使用numpy 编辑
3.使用DataFrame 编辑
二、绘制条形图#xff08;柱状图#xff09;
1.简单条形图
2.绘制叠加条形图
3.绘制并列条形图
4.水平条形图 编辑
三、绘制饼状图
四、绘制散点图和直方图
1.散点图
2…目录
目录
一、绘制折线图
1.使用pyplot
2.使用numpy 编辑
3.使用DataFrame 编辑
二、绘制条形图柱状图
1.简单条形图
2.绘制叠加条形图
3.绘制并列条形图
4.水平条形图 编辑
三、绘制饼状图
四、绘制散点图和直方图
1.散点图
2.直方图 一、绘制折线图
1.使用pyplot
import matplotlib.pyplot as plt
x [1,2,3,4,5]
y [1,2,3,4,5]
# 调用绘制线性图函数plot
plt.plot(x,y,color#3589FF, # 线的颜色linestyle:, # 线的风格linewidth2, # 线的宽度markero, # 标记点样式markerfacecolorr,# 标记点颜色markersize10, # 标记点的大小alpha1, # 图形的透明度labelxy # 设置图例的label
)
plt.legend()
plt.show() 2.使用numpy
import numpy as np
plt.rcParams[font.sans-serif] SimSong
# numpy数据
y1 np.random.random(6) # 第1条折线y轴
y2 np.random.random(6) # 第2条折线y轴
x np.arange(6) # 公用的x轴plt.plot(x, y1, label成都) # 绘制第1条折线图
plt.plot(x, y2, label武汉) # 绘制第2条折线图
plt.legend(locbest) # 显示折线plt.title(各城市房价(单位: 万), fontsize20) # 设置标题 和 标题大小
index_name [1月, 2月, 3月, 4月, 5月, 6月] # 设置刻度
plt.xticks(x, index_name) # 将x坐标刻度数值与字符对应plt.show() # 显示图形其中这句代码的效果是它将x数组中的数值与index_name列表中的字符串对应起来并显示在图表的x轴上。这样图表的x轴上将显示’1月’、‘2月’、‘3月’、‘4月’、‘5月’和’6月’而不是默认的数值刻度。这对于增强图表的可读性和直观性非常有用特别是当x轴代表时间序列时
index_name [1月, 2月, 3月, 4月, 5月, 6月] # 设置刻度
plt.xticks(x, index_name) # 将x坐标刻度数值与字符对应 如果没有这段代码会发生 3.使用DataFrame
import pandas as pd
# 使用DataFrame数据
data_frame pd.DataFrame({Python基础: np.random.randint(10, 100, 5),Python爬虫: np.random.randint(10, 100, 5),Python Web: np.random.randint(10, 100, 5),
})plt.plot(data_frame, markero)# 显示图例
plt.legend(data_frame, loc2)# 设置x轴刻度标签
plt.xticks([0, 1, 2, 3, 4], [1月, 2月, 3月, 4月, 5月])
plt.title(2020年课程购买人数)
plt.xlabel(月份)
plt.ylabel(购买人数)# 设置网格的宽度
plt.grid()# 显示图形
plt.show()二、绘制条形图柱状图
1.简单条形图
下面这段代码是使用matplotlib库中的pyplot模块绘制条形图
matplotlib.pyplot.bar(x, height, width0.8, bottomNone, *, aligncenter, dataNone, **kwargs)参数
参数名描述默认值x条形图x轴的位置序列即条形图基线的位置。无必须提供height条形图y轴的值即条形图的高度。无必须提供width条形图的宽度。0.8bottom条形图的底部y坐标表示条形图从哪个y坐标开始。Nonealign条形图的对齐方式center’表示条形图中心对齐edge’表示边缘对齐。‘center’data要绘制的数据。None**kwargs传递给条形图的其它参数如颜色、标签等。无
绘制一个简单的条形图
x [1,2,3,4,5]
height [2.5,3.5,4.5,5.6,6.9]
plt.bar(x,height) 给条形图上方添加说明
# 给坐标为 1,2.5位置上方添加2.5说明
plt.text(1,2.5,2.5) # 使这个说明居中并且在条形图底部
plt.text(1,2.5,2.5,hacenter,vabottom) #通常使用bottom
# 使这个说明居中并且在条形图上部
plt.text(1,2.5,2.5,hacenter,vatop) # 给每个条形图添加说明使用zip
# zip 的作用就是将x和height 合并成一个元组通过for循环赋值给xheight
for x,height in zip(x,height):plt.text(x,height,height,hacenter,vabottom) 补充元素
x [1,2,3,4,5]
height [2.5,3.5,4.5,5.6,6.9]
index_name [星期一,星期二,星期三,星期四,星期五]
plt.xticks(x,index_name)
plt.bar(x,height)
plt.title(销售量(单位万元))
for x,height in zip(x,height):plt.text(x,height,height,hacenter,vabottom)
plt.show() 2.绘制叠加条形图
x [1,2,3,4,5]
height1 [2.5,3.5,4.5,5.6,6.9]
height2 [2,3,4,5,6]
index_name [星期一,星期二,星期三,星期四,星期五]
plt.xticks(x,index_name)
plt.bar(x,height1) # 绘制第一个条形图
plt.bar(x,height2,colorg) # 绘制第二个条形图
plt.title(销售量(单位万元))
plt.show() bottom参数用于指定堆叠条形图的起始位置
在下面的例子中bottomheight1表示第二个条形图的底部是第一个条形图的顶部
plt.bar(x,height1,labelpython销量) # 绘制第一个条形图
#
plt.bar(x,height2,colorg,bottomheight1,labelc语言销量) # 绘制第二个条形图
plt.legend() 设置图形大小和图形像素这样图片就更大一些了
plt.figure(figsize(8,8),dpi100) 测试代码
plt.figure(figsize(8,8),dpi100)
x [1,2,3,4,5]
height1 [2.5,3.5,4.5,5.6,6.9]
height2 [2,3,4,5,6]
index_name [星期一,星期二,星期三,星期四,星期五]
plt.xticks(x,index_name)
plt.bar(x,height1,labelpython销量) # 绘制第一个条形图
plt.bar(x,height2,colorg,bottomheight1,labelc语言销量) # 绘制第二个条形图
plt.title(销售量(单位万元))
plt.legend()
plt.show()
3.绘制并列条形图
这里就需要使用numpy便于相减
注意plt.bar中参数顺序
plt.figure(figsize(8,8),dpi100)# 使用numpy
x np.arange(5)
height1 [2.5,3.5,4.5,5.6,6.9]
height2 [2,3,4,5,6]
index_name [星期一,星期二,星期三,星期四,星期五]
plt.xticks(x,index_name)#条形图宽度为0.3
bar_width0.3
plt.bar(x,height1,bar_width,labelpython销量) # 绘制第一个条形图# 第二个条形图其实位置为xbar_width
plt.bar(xbar_width,height2,bar_width,colorg,labelc语言销量) # 绘制第二个条形图
plt.title(销售量(单位万元))
plt.legend()
plt.show() 但是底部的x轴课表对应不美观于是调一下xticks
plt.xticks(xbar_width/2,index_name) # 加bar_width的一半 实验代码
plt.figure(figsize(8,8),dpi100)# 使用numpy
x np.arange(5)
height1 [2.5,3.5,4.5,5.6,6.9]
height2 [2,3,4,5,6]
index_name [星期一,星期二,星期三,星期四,星期五]#条形图宽度为0.3
bar_width0.3
plt.bar(x,height1,bar_width,labelpython销量) # 绘制第一个条形图# 第二个条形图其实位置为xbar_width
plt.bar(xbar_width,height2,bar_width,colorg,labelc语言销量) # 绘制第二个条形图
plt.title(销售量(单位万元))plt.xticks(xbar_width/2,index_name) # 加bar_width的一半
plt.legend()
plt.show()
4.水平条形图
plt.figure(figsize(8,8),dpi100)
index_name [python,c语言,java,cpp,php]
y [1,2,3,4,5]
plt.yticks(y,index_name)
width[2.5,3.6,4.7,5.8,6.9]# barh以水平方式画条形图h就是水平的意思
plt.barh(y,width)plt.text(2.5,1,2.5)
plt.text(3.6,2,3.6)
plt.text(4.7,3,4.7)
plt.text(5.8,4,5.8)
plt.text(6.9,5,6.9)plt.show() 三、绘制饼状图
import matplotlib.pyplot as plt # 导入matplotlib.pyplot模块用于绘制图表plt.figure(figsize(6, 6), dpi100) # 创建一个新图形并设置图形大小为6x6英寸分辨率为100 DPI
labels [A, B, C, D, E] # 定义饼图的标签列表
x [10, 20, 30.5, 40.6, 50.7] # 定义饼图的各个部分的值
explode [0, 0.1, 0, 0, 0] # 定义饼图各个部分的突出显示程度这里只突出显示第二个部分plt.pie(x, labelslabels, autopct%.2f%%, explodeexplode) # 绘制饼图设置标签、自动百分比格式和突出显示
plt.legend() # 显示图例用于解释各个部分的含义
plt.show() # 显示绘制好的饼图其中对于pie函数内部如果参数顺序对不上可以强行指定参数顺序如 labelslabels 四、绘制散点图和直方图
1.散点图
我们可以通过绘制折线图方式绘制一个简单的散点图
x [1,2,3,4,5]
y [1,2,3,4,5]
plt.plot(x,y) # 设置点的样式为o颜色为红色
plt.plot(x,y,ro)
# bo就是蓝色 除了通过折线图绘制散点图外。matplotlib中还提供了scatter函数绘制散点图
plt.scatter 是 Matplotlib 库中的一个函数用于在二维空间中绘制散点图。
plt.scatter(x, y, sNone, cNone, markerNone, cmapNone, normNone, vminNone, vmaxNone, alphaNone, linewidthsNone, edgecolorsNone, *, dataNone, **kwargs)参数名描述示例值或默认值x, y这些是位置参数分别表示散点图中每个点的 x 和 y 坐标。x [1, 2, 3, …], y [4, 5, 6, …]s散点的大小。如果是一个标量那么所有的点都会是这个大小。s 100c散点的颜色。如果是一个标量那么所有的点都会是这个颜色。c ‘blue’marker散点的形状。默认值是 None此时使用 ‘o’圆形。marker ‘s’cmap颜色映射用于将数据值映射到颜色。仅在 c 是一个浮点数数组时使用。cmap plt.cm.viridisnorm用于缩放 c 的颜色数据使其在 0 和 1 之间。norm plt.Normalize(vmin0, vmax1)vmin, vmax当 norm 是 None 时这两个参数用于将 c 的数据缩放到颜色映射的范围内。vmin 0, vmax 1alpha散点的透明度。值在 0完全透明到 1完全不透明之间。alpha 0.5linewidths散点边缘的线宽。默认值是 None此时不绘制边缘。linewidths 1edgecolors散点边缘的颜色。默认值是 None此时边缘颜色与散点颜色相同。edgecolors ‘black’data如果提供那么 x, y, s, c 等参数可以通过字符串来指定这些字符串将映射到 data 的列。data None**kwargs其他关键字参数可以传递给 Line2D 对象用于进一步自定义散点图。**kwargs {}
x [1,2,3,4,5]
y [1,2,3,4,5]
plt.scatter(x,y)
plt.show() 设置点的颜色为红色
plt.scatter(x,y,colorr) # 设置散点图中点的大小 -- 随机大小
size np.random.rand(5)*200
plt.scatter(x,y,colorg,ssize) # 绘制多个散点图
x [1,2,3,4,5]
y [1,2,3,4,5]
a np.random.rand(10)
b np.random.rand(10)
size np.random.rand(5)*200
plt.scatter(x,y,colory,ssize)
plt.scatter(a,b,colorb,ssize)
plt.show()2.直方图
直方图是一种用于显示数值数据分布的柱状图。它通过将数据分成若干个区间或称为“箱子”然后绘制每个区间内数据的数量或频率来表示数据的分布情况。直方图可以用来展示数据的集中趋势、离散程度以及是否存在异常值等。
直方图是由竖立在x轴上的多个相邻的矩形组成这些矩形把x轴拆分为一段段彼此不重叠的线段每个矩形都是有面积的那么它的面积和所对应的直方图元素的个数是成正比这种方法就可以用于样本分布统计
x [1,2,3,4,5]
plt.hist(x) # 绘制直方图
plt.show() # 更改x的值观察一下
x [1,2,3,4,5,1.1,1.2,1.3]
plt.hist(x) # 绘制直方图
plt.show() # 下面使用直方图绘制一个正态分布
# 使用 NumPy 的 random.normal 函数生成一个包含 100000 个随机数的数组。normal(0,1) 表示生成的数据符合均值为 0、标准差为 1 的正态分布。
data np.random.normal(0,1,100000)
# bins200 指定了直方图的箱数即横轴x轴的划分数量。每个箱代表数据中一个范围的数据值直方图的高度表示该范围内数据点的数量。
plt.hist(data,bins200)
plt.show()