项目2数据可视化---第十五章生成数据
- 开源代码
- 2025-09-03 00:18:03

数据分析是使用代码来探索数据内的规律和关联。
数据可视化是通过可视化表示来 探索和呈现数据集内的规律。
好的数据可视化,可以发现数据集中未知的规律和意义。
一个流行的工具是Matplotlib,他是一个数据绘图库;
还有Plotly包,这个包生成的图形非常适合在数字设备上显示——不仅能根据显示设备的尺寸自动调整大小,还具备众多交互特性,如在用户将鼠标指向图形的不同区域时,突出显示数据集的相应特征。
15.1 安装Matplotlib
python -m pip install --user matplotlib15.2 绘制简单的折线图
fig相当于一个大图片窗口;ax 相当于里面的线 内容。
fig ,ax =plt.subplots()plt.plot(数据参数)#创建窗口和图 subplots()
fig, ax = plt.subplots()
#ax图调用plot方法 传入数据参数
ax.plot(input_values, squares, linewidth=3)
15.2.1 修改标签文字和线条粗细
1.添加图题并给坐标轴加上标签
import matplotlib.pyplot as plt squares = [1, 4, 9, 16, 25] fig, ax = plt.subplots() #linewidth 设置线条粗细 ax.plot(squares, linewidth=3) # 设置图题并给坐标轴加上标签 ax.set_title("Square Numbers", fontsize=24) ax.set_xlabel("Value", fontsize=14) ax.set_ylabel("Square of Value", fontsize=14) # 设置刻度标记的样式,将刻度标签字体大小设置为 14 ax.tick_params(labelsize=14) plt.show()15.2.2 校正绘图
图更清楚了 标题字大了,但是,数据绘制的并不正确。
折线图的终点 4的平方为25。
可给plot同时提供输入值和输出值。
marker='o')
import matplotlib.pyplot as plt #相当于给横纵坐标对应的点了 input_values = [1, 2, 3, 4, 5] squares = [1, 4, 9, 16, 25] #1.调用subplots()函数方法 fig, ax = plt.subplots() #2.调用plot方法 传入数据列表当做数据参数 marker='o'整个小圆点更容易看出点 ax.plot(input_values, squares, linewidth=3 ,marker='o') # Set chart title and label axes. ax.set_title("Square Numbers", fontsize=24) ax.set_xlabel("Value", fontsize=14) ax.set_ylabel("Square of Value", fontsize=14) # Set size of tick labels. ax.tick_params(labelsize=14) plt.show()15.2.3 使用内置样式
Matplotlib提供很多已经定义好的样式,这些样式包含默认的背景色、网格线、线条粗细、字体和字号等设置,我们无需做太多定制就能有不错的可视化效果。看我们系统中使用的所有样式,可以在终端进入python 再输入:
import matplotlib.pyplot as plt
15.2.4 使用scatter()绘制散点图并设置样式
有时候, 需要绘制散点图并设置各个数据点的样式。
可以想一个颜色显示数值小的数据,另一个颜色显示数值大的数据。
在绘制大数据模型时,还可先对每个点都设置同样的样式,再使用不同的样式重新描绘某些点,突出某些点。
绘制单个点,可以使用scatter()方法,并向它传递该点的xy轴坐标值。
绘制一系列的散点
15.2.6 自动计算数据
比如计算平方数
相当于 x轴给值 ,y轴给平方值。
# axis方法设置每个坐标轴的取值范围 # 四个参数分别是 x的最小和最大;y轴的最小和最大值 ax.axis([0, 1100, 0, 1_100_000])15.2.7 定制刻度标记
没啥用 plain
可以覆盖默认的刻度标记样式
15.2.8 定制颜色
15.2.9 使用颜色映射
是一个从起始颜色渐变到结束颜色的颜色序列,在可视化中,颜色映射用于突出数据的规律。
用较浅的颜色来显示较小的值,使用较深的颜色来显示较大的值。
使用颜色映射,可根据精心设计的色标准确的设置所有点的颜色。
ax.scatter(x_values, y_values, s=1,color ='red',marker='o') ax.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, s=10) ax.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Reds_r, s=10)了解其他颜色映射
Matplotlib — Visualization with Python
15.2.10 自动保存绘图
import os # 获取当前脚本所在的目录 script_dir = os.path.dirname(os.path.abspath(__file__)) # 将当前工作目录切换到脚本所在目录 os.chdir(script_dir) import matplotlib.pyplot as plt x_values = range(1, 1001) y_values = [x**2 for x in x_values] # plt.style.use('seaborn') plt.style.use('seaborn-v0_8') fig, ax = plt.subplots() ax.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, s=10) # Set chart title and label axes. ax.set_title("Square Numbers", fontsize=24) ax.set_xlabel("Value", fontsize=14) ax.set_ylabel("Square of Value", fontsize=14) # Set size of tick labels. ax.tick_params(labelsize=14) # Set the range for each axis. ax.axis([0, 1100, 0, 1_100_000]) ax.ticklabel_format(style='plain') # plt.show() #第一个参数 命名图片 第二个参数 将绘图多余的空白区域裁剪掉 # 这个图片会存储到当前py文件的同目录下 plt.savefig('picture.png',bbox_inches= 'tight')路径变成当前目录下!!!!! import os # 获取当前脚本所在的目录 script_dir = os.path.dirname(os.path.abspath(__file__)) # 将当前工作目录切换到脚本所在目录 os.chdir(script_dir)
15.3 随机游走
15.4 使用Plotly 模拟掷骰子
使用Plotly来生成交互式图形。
当需要创建在浏览器中显示的图形时,它生成的图形将自动缩放,以适应观看者的屏幕。
交互式:当用户将鼠标指向特定元素,将显示有关该元素的信息。将使用Plotly Express来创建初始图形。
Plotly Express是plotly的子集,使用尽可能少的代码生成绘图。
我们先使用几行代码生成初始绘图,在确定输出正确之后再使用matplotlib那样对绘图进行定制。
15.4.1 安装plotly
python -m pip install --user plotlyPlotly Express依赖于pandas(一个高效处理数据的库),需要再安装pandas
python -m pip install --user pandas
1.创建die类
2.掷筛子
3. 分析结果
# Analyze the results. frequencies = [] poss_results = range(1, die.num_sides+1) #range(1,6)输出的是1 2 3 4 5,所以range要加1 for value in poss_results: frequency = results.count(value) #计算每个点出现的次数 frequencies.append(frequency) #加到空列表里的末尾
4.绘制直方图
5.定制绘图
# Visualize the results. title = "Results of Rolling One D6 1,000 Times" labels = {'x': 'Result', 'y': 'Frequency of Result'} fig = px.bar(x=poss_results, y=frequencies, title=title, labels=labels) fig.show()6. 当条形太多,x轴默认布局没有加上标签
6.保存图形
项目2数据可视化---第十五章生成数据由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“项目2数据可视化---第十五章生成数据”