(3-2-02)绘制散点图和折线图:绘制折线图(2)

3.2.7  绘制3条不同的折线

在使用Matplotlib绘制折线时,可以使用函数plot()设置绘制这样的样式,例如红色虚线、蓝色正方形和绿色三角形等。请看下面的实例文件zhe08.py,功能是使用Matplotlib绘制3条不同的折线。

源码路径:codes\3\3-2\zhe08.py

import numpy as np
import matplotlib.pyplot as plt

# 间隔200ms均匀采样
t = np.arange(0., 5., 0.2)

#红色虚线、蓝色正方形和绿色三角形
plt.plot(t, t, 'r--', t, t ** 2, 'bs', t, t ** 3, 'g^')
plt.show()

执行效果如图3-20所示。

图3-20  执行效果

3.2.8  绘制浏览器市场占有率变化折线图

除了使用Matplotlib之外,我们也可以使用库pygal绘制折线。请看下面的实例文件zhe09.py,功能是使用pygal绘制在某时间段内浏览器产品的市场占有率变化折线图。

源码路径:codes\3\3-2\zhe09.py

import pygal

line_chart = pygal.Line()
line_chart.title = 'Browser usage evolution (in %)'
line_chart.x_labels = map(str, range(2002, 2013))
line_chart.add('Firefox', [None, None,    0, 16.6,   25,   31, 36.4, 45.5, 46.3, 42.8, 37.1])
line_chart.add('Chrome',  [None, None, None, None, None, None,    0,  3.9, 10.8, 23.8, 35.3])
line_chart.add('IE',      [85.8, 84.6, 84.7, 74.5,   66, 58.6, 54.7, 44.8, 36.2, 26.6, 20.1])
line_chart.add('Others',  [14.2, 15.4, 15.3,  8.9,    9, 10.4,  8.9,  5.8,  6.7,  6.8,  7.5])
line_chart.render_to_file('bar_chart.svg')

执行效果如图3-21所示。

图3-21  执行效果

3.2.9  绘制XY线图

XY线是将各个点用直线连接起来的折线图,在绘制时需提供一个横纵坐标元组作为元素的列表。使用pygal绘制XY线图的方法十分简单,只需调用库pygal中的XY()方法即可。例如在下面的实例文件zhe10.py中,演示了使用XY()方法绘制两条XY余弦曲线图的过程。

源码路径:codes\3\3-2\zhe10.py

import pygal
from math import cos

xy_chart = pygal.XY()
xy_chart.title = 'XY余弦曲线图'
xy_chart.add('x = cos(y)', [(cos(x / 10.), x / 10.) for x in range(-50, 50, 5)])
xy_chart.add('y = cos(x)', [(x / 10., cos(x / 10.)) for x in range(-50, 50, 5)])
xy_chart.add('x = 1',  [(1, -5), (1, 5)])
xy_chart.add('x = -1', [(-1, -5), (-1, 5)])
xy_chart.add('y = 1',  [(-5, 1), (5, 1)])
xy_chart.add('y = -1', [(-5, -1), (5, -1)])
xy_chart.render_to_file('bar_chart.svg')

执行后会创建生成XY余弦曲线图文件bar_chart.svg,打开后的效果如图3-22所示。

图3-22  生成的折线图文件bar_chart.svg

3.2.10  绘制水平样式的浏览器市场占有率变化折线图

请看下面的实例文件zhe11.py,功能是也是使用pygal绘制在某时间段内浏览器产品的市场占有率变化折线图,但是这个折线图是水平样式的。

源码路径:codes\3\3-2\zhe11.py

import pygal

line_chart = pygal.HorizontalLine()
line_chart.title = 'Browser usage evolution (in %)'
line_chart.x_labels = map(str, range(2002, 2013))
line_chart.add('Firefox', [None, None,    0, 16.6,   25,   31, 36.4, 45.5, 46.3, 42.8, 37.1])
line_chart.add('Chrome',  [None, None, None, None, None, None,    0,  3.9, 10.8, 23.8, 35.3])
line_chart.add('IE',      [85.8, 84.6, 84.7, 74.5,   66, 58.6, 54.7, 44.8, 36.2, 26.6, 20.1])
line_chart.add('Others',  [14.2, 15.4, 15.3,  8.9,    9, 10.4,  8.9,  5.8,  6.7,  6.8,  7.5])
line_chart.range = [0, 100]
line_chart.render_to_file('bar_chart.svg')

执行效果如图3-23所示。

图3-23  生成的折线图文件bar_chart.svg

3.2.11  绘制叠加折线图

请看下面的实例文件zhe12.py,功能是也是使用pygal绘制浏览器市场占有率的叠加折线图。

源码路径:codes\3\3-2\zhe12.py

import pygal

line_chart = pygal.StackedLine(fill=True)
line_chart.title = 'Browser usage evolution (in %)'
line_chart.x_labels = map(str, range(2002, 2013))
line_chart.add('Firefox', [None, None, 0, 16.6,   25,   31, 36.4, 45.5, 46.3, 42.8, 37.1])
line_chart.add('Chrome',  [None, None, None, None, None, None,    0,  3.9, 10.8, 23.8, 35.3])
line_chart.add('IE',      [85.8, 84.6, 84.7, 74.5,   66, 58.6, 54.7, 44.8, 36.2, 26.6, 20.1])
line_chart.add('Others',  [14.2, 15.4, 15.3,  8.9,    9, 10.4,  8.9,  5.8,  6.7,  6.8,  7.5])
line_chart.render_to_file('bar_chart.svg')

执行效果如图3-24所示。

图3-24  生成的折线图文件bar_chart.svg

3.2.12  绘制某网站用户访问量折线图

在使用pygal绘制折线图时,可以设置坐标轴标签的显示样式,例如我们可以在x轴标签显示“年-月-日”信息。请看下面的实例文件zhe13.py,功能是也是使用pygal绘制某时间段内某网站用户访问量折线图,x轴标签显示的是日期信息。

源码路径:codes\3\3-2\zhe13.py

from datetime import datetime
import pygal

date_chart = pygal.Line(x_label_rotation=20)
date_chart.x_labels = map(lambda d: d.strftime('%Y-%m-%d'), [
 datetime(2013, 1, 2),
 datetime(2013, 1, 12),
 datetime(2013, 2, 2),
 datetime(2013, 2, 22)])
date_chart.add("Visits", [300, 412, 823, 672])
date_chart.render_to_file('bar_chart.svg')

执行效果如图3-25所示。

图3-25  生成的折线图文件bar_chart.svg

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,我可以为您提供一些参考代码和步骤,来绘制散点图折线图和柱状图。 首先,我们需要使用Python的pandas和matplotlib库来处理和可视化数据。假设您已经将2021年各国GDP数据保存在一个名为“gdp.xlsx”的Excel文件中,并将其保存在与您的Python代码相同的目录中。 步骤1:导入必要的库 ```python import pandas as pd import matplotlib.pyplot as plt ``` 步骤2:读取Excel文件并处理数据 ```python # 读取Excel文件 df = pd.read_excel('gdp.xlsx', sheet_name='Sheet1') # 选择需要绘制的数据列 countries = df['Country'] gdp_values = df['GDP'] # 打印数据 print(countries) print(gdp_values) ``` 步骤3:绘制散点图 ```python # 设置图形大小和标题 plt.figure(figsize=(10, 6)) plt.title('2021 GDP') # 绘制散点图 plt.scatter(countries, gdp_values) # 设置x轴标签旋转角度 plt.xticks(rotation=90) # 显示图形 plt.show() ``` 步骤4:绘制折线图 ```python # 设置图形大小和标题 plt.figure(figsize=(10, 6)) plt.title('2021 GDP') # 绘制折线图 plt.plot(countries, gdp_values) # 设置x轴标签旋转角度 plt.xticks(rotation=90) # 显示图形 plt.show() ``` 步骤5:绘制柱状图 ```python # 设置图形大小和标题 plt.figure(figsize=(10, 6)) plt.title('2021 GDP') # 绘制柱状图 plt.bar(countries, gdp_values) # 设置x轴标签旋转角度 plt.xticks(rotation=90) # 显示图形 plt.show() ``` 这样,您就可以使用Python绘制散点图折线图和柱状图了。当然,您还可以使用其他库和方法来进行数据处理和可视化,这里只是提供一种参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农三叔

感谢鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值