python 数据可视化样例

import matplotlib.pyplot as plt
x=[1,2,3,4,5]
y=[1,2,3,4,5]
plt.plot(x,y)
plt.show()

请添加图片描述

import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_excel('C:/Users/Administrator/Desktop/第五章 Matplotlib/销售数量.xls')
x=df["日期"]
y=df["销售数量"]
plt.plot(x,y)
plt.show()




请添加图片描述

import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_excel('C:/Users/Administrator/Desktop/第五章 Matplotlib/销售数量.xls')
x=df["日期"]
y=df["销售数量"]
plt.plot(x,y,color='c',linestyle='dashdot',marker='o',mfc='w')
plt.show()

请添加图片描述

import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_excel('C:/Users/Administrator/Desktop/第五章 Matplotlib/销售数量.xls')
x=df["日期"]
y=df["销售数量"]
#自定义600*400画布
fig=plt.figure(figsize=(6,4),facecolor='blue')
#折线图样式
plt.plot(x,y)
plt.plot(x,y,color='b',linestyle='-',marker='o',mfc='w')
#坐标标题轴
plt.rcParams['font.sans-serif']='SimHei'#设置中文
plt.rcParams['axes.unicode_minus']=False#负号不显示
plt.xlabel('2021年8月')
plt.ylabel('销售数量')
#坐标刻度
plt.xticks(range(1,15,1))
dates=['1日','2日','3日','4日','5日','6日','7日','8日','9日','10日','11日','12日','13日','14日']
plt.xticks(range(1,15,1),dates)
plt.yticks([10,20,30,40,50,60,70,80,90,100,110,120,130,140])
#坐标轴范围
plt.xlim(1,14)
plt.ylim(10,140)
#网格线
plt.grid()
plt.grid(color='r',linestyle='--',linewidth=1)
#添加文本标签
for a,b in zip(x,y):
    plt.text(a,b+3,'%.1f'%b,ha='center',va='bottom',fontsize=10)
#标题
plt.title('1-14日销售数据',fontsize='18')
#注释
plt.annotate('关键点',xy=(12,100),xytext=(12,100),xycoords='data',
            arrowprops=dict(facecolor='r',shrink=0.01))
#图例
plt.legend(('销售数量',),loc='lower right',fontsize=10)
#间距
plt.subplots_adjust(left=0.2,bottom=0.2,right=0.9,top=0.9)
plt.show()

请添加图片描述

import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_excel('C:/Users/Administrator/Desktop/第五章 Matplotlib/data.xls')
x1=df['地区']
y1=df['图书']
y2=df['百货']
y3=df['食品']
#格式设置
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['xtick.direction']='out'
plt.rcParams['ytick.direction']='in'
plt.title('各地区销售额对比',fontsize='18')
plt.grid(axis='y')
plt.ylabel('销售额')
plt.yticks(range(200,700,50))
#3条折线图绘制
plt.plot(x1,y1,label='图书',color='r',marker='p')
plt.plot(x1,y2,label='百货',color='g',marker='.',mfc='r',ms=8,alpha=0.7)
plt.plot(x1,y3,label='食品',color='b',linestyle='-.',marker='*')
#图例
plt.legend(['图书','百货','食品'])
plt.show()

请添加图片描述

import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_excel('C:/Users/Administrator/Desktop/第五章 Matplotlib/data.xlsx')
x=df['地区']
height=df['销售额']
#格式设置
plt.rcParams['font.sans-serif']='SimHei'#解决中文乱码
plt.grid(axis="y",which="major")#生成虚线网络
plt.xlabel('年份')
plt.ylabel('销售额(万元)')
plt.title('各地区销售额分析',fontsize='18')
#柱形图绘制
plt.bar(x,height,width=0.5,align='center',color='b',alpha=0.5,bottom=0.8)
#设置每个柱子的文本标签,format(b,",")格式化销售额为千位分隔符格式
for a,b in zip(x,height):
    plt.text(a,b,format(b,','),ha='center',va='bottom',fontsize=9,color='r',alpha=0.9)
#图
plt.legend(['销售额'])
plt.show()

请添加图片描述

import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_excel('C:/Users/Administrator/Desktop/第五章 Matplotlib/data.xlsx')
x=df['销售额']
#格式设置
plt.rcParams['font.sans-serif']='SimHei'#解决中文乱码
plt.xlabel('销售额')                    #x轴标签
plt.ylabel('地区数量')                  #y轴标签
plt.title("各地区销售额分布直方图")     #显示图标题
#直方图绘制
plt.hist(x,bins=[1000,1200,1300,1400,1500],facecolor="blue",edgecolor="black",alpha=0.7)
#图形展示
plt.show()

请添加图片描述

import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_excel('C:/Users/Administrator/Desktop/第五章 Matplotlib/data.xlsx')
#饼图数据准备
labels=df['地区']
sizes=df['销售额']
#格式设置
plt.rcParams['font.sans-serif']=['SimHei']#解决中文乱码
plt.figure(figsize=(9,5))     #设置画布大小
colors=['red','yellow','green','blue']#设置饼形图每块的颜色
#饼图绘制
plt.pie(sizes,#绘图数据
        labels=labels,#添加区域水平标签
        colors=colors,#设置饼图的自定义填充色
        labeldistance=1.02,#设置个扇形标签(图例)与圆心的距离
        autopct='%.1f%%',#设置百分比的格式,这里保留一位小数
        startangle=90,#设置饼图的初始角度
        radius=0.5,#设置饼图的半径
        center=(0.2,0.2),#设置饼图的原点
        textprops={'fontsize':9,'color':'k'},#设置文本标签的属性值
        pctdistance=0.6#设置百分比标签与圆心的距离
)
plt.axis('equal')
plt.title('2021年8月各地区销量占比分析')#标题
plt.show()

请添加图片描述

import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_excel('C:/Users/Administrator/Desktop/第五章 Matplotlib/data.xlsx')
x1=df['地区']
y1=df['图书']
y2=df['百货']
y3=df['食品']
#格式设置
plt.rcParams['font.sans-serif']='SimHei'
plt.rcParams['xtick.direction']='out'
plt.rcParams['ytick.direction']='in'
plt.title('各地区销售额对比',fontsize='18')
plt.grid(axis='y')
plt.ylabel('销售额')
plt.yticks(range(200,700,50))
#散点图绘制
plt.scatter(x1,y1,color='r')
plt.scatter(x1,y2,color='g')
plt.scatter(x1,y3,color='b')
#图例
plt.legend(['图书','百货','食品'])
#图形展示
plt.show()

请添加图片描述

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
df=pd.read_excel('C:/Users/Administrator/Desktop/第五章 Matplotlib/data.xlsx')
labels=df['地区']
sizes=list(df['销售额'])
dataLength=len(sizes)#数据长度
#angles数组把圆周等分为dataLength份
angles=np.linspace(0,#数组第一个数据
                   2*np.pi,#数组最后一个数据
                   dataLength,#数组中数据数量
                   endpoint=False#不包含终点
                  )
 
angles = np.concatenate((angles,[angles[0]]))
labels=np.concatenate((labels,[labels[0]]))

sizes.append(sizes[0])
# angles=np.append(angles,angles[0])#闭合
#绘制雷达图
plt.polar(angles,#设置角度
          sizes,#设置各角度上的数据
          'rv--',#设置颜色、线型和端点符号
          linewidth=2#设置线宽
         )
#填充雷达图内部
plt.fill(angles,
         sizes,
         facecolor='g',
         alpha=0.25
        )
#设置角度网格标签
plt.thetagrids(angles*180/np.pi,
               labels,
               fontproperties='simhei'
              )

plt.grid(True)

#展示
plt.show()

请添加图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是一个简单的Python代码示例,演示如何使用BeautifulSoup库爬取并处理数据,同时使用Matplotlib库进行可视化。 ```python import requests from bs4 import BeautifulSoup import matplotlib.pyplot as plt # 爬取数据 url = 'http://quotes.toscrape.com/' response = requests.get(url) soup = BeautifulSoup(response.text, 'html.parser') quotes = soup.find_all('span', class_='text') authors = soup.find_all('small', class_='author') tags = soup.find_all('div', class_='tags') # 数据处理 author_count = {} tag_count = {} for i in range(len(quotes)): author = authors[i].text tag_list = tags[i].find_all('a') for tag in tag_list: tag_name = tag.text if tag_name in tag_count: tag_count[tag_name] += 1 else: tag_count[tag_name] = 1 if author in author_count: author_count[author] += 1 else: author_count[author] = 1 # 可视化 plt.bar(range(len(author_count)), list(author_count.values()), align='center') plt.xticks(range(len(author_count)), list(author_count.keys())) plt.show() plt.bar(range(len(tag_count)), list(tag_count.values()), align='center') plt.xticks(range(len(tag_count)), list(tag_count.keys())) plt.show() ``` 在这个例子中,我们首先使用requests库获取网页的HTML代码,然后使用BeautifulSoup库解析HTML代码并提取我们需要的数据。我们使用字典来计算每个作者和标签的出现次数。最后,我们使用Matplotlib库来绘制柱状图,使数据更加可视化。 需要注意的是,这只是一个简单的示例代码,实际的数据爬取和处理需要更加复杂的代码和技术。此外,爬取和使用网站数据时,需要遵守网站的使用条款和法律法规。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

长街395

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值