可视化 图形 matplotlib

简介: 可视化 图形 matplotlib

怎么说呢?这个库,画一些基本的形状挺好用的,还有pyecharts,但是我不想在可视化上浪费太多时间,就这样吧。

---------------------------------------------------------------------------------------------------------

之前学的:

# -*- coding: utf-8 -*-
"""
Created on Thu May 28 17:28:17 2020

@author: Administrator
"""
#
from matplotlib import pyplot as plt
fig=plt.figure(figsize=(15,5),dpi=80)
x=range(2,26,2)
y=[15,13,14,5,17,20,25,26,24,22,18,15]
plt.plot(x,y)
plt.yticks(y)#设置y坐标
plt.xticks(range(5,50,2))#设置x范围
plt.savefig("f://a.svg")#保存文件
plt.show()#展示


#折线图
from matplotlib import pyplot as plt
import matplotlib
import random
from matplotlib import font_manager
# font={
#     'family':'MicroSoft YaHei',
#     'weight':'bold',
#     'size':'20'
# }
# matplotlib.rc("font",**font)
my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\STKAITI.TTF")
x=range(0,120)
y=[random.randint(20,35) for i in range(120)]
fig=plt.figure(figsize=(20,5),dpi=80)
x_ticks=["10点{}分".format(i) for i in range(60)]
x_ticks+=["11点{}分".format(i) for i in range(60)]

plt.title("10-11点温度",fontproperties=my_font)
plt.ylabel("温度",fontproperties=my_font)
plt.xlabel("时间",fontproperties=my_font)

plt.xticks(list(x)[::5],x_ticks[::5],rotation=45,fontproperties=my_font)
plt.grid(alpha=0.4)#linestyle
plt.plot(x,y,label="a",color="r",linestyle="--",linewidth=1)
plt.plot(range(100,220),y,label="b")
#图例
plt.legend(prop=my_font,loc=5)
plt.savefig("f://wendu.png")#保存文件
plt.show()



#散点图
from matplotlib import pyplot as pt
from matplotlib import font_manager
import random
my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\STKAITI.TTF")

y_3=[random.randint(10,22) for i in range(31)]
y_10=[random.randint(10,30)for i in range(31)]
x_3=range(1,32)
x_10=range(32,63)

#设置图形大小
plt.figure(figsize=(20,8),dpi=80)
#设置标识
plt.title("3月和10月温度",fontproperties=my_font)
plt.ylabel("温度",fontproperties=my_font)
plt.xlabel("日期",fontproperties=my_font)
#设置x,y刻度
x_xticks=list(x_3)+list(x_10)
x_label=["3月{}号".format(i) for i in range(1,32)]
x_label+=["10月{}号".format(i) for i in range(1,32)]

plt.xticks(x_xticks,x_label,rotation=90,fontproperties=my_font)
plt.scatter(x_3,y_3,label="a")
plt.scatter(x_10,y_10,label="b",color="r")
#图例
plt.legend(prop=my_font,loc=5)
plt.show()



#条形图
from matplotlib import pyplot as pt
from matplotlib import font_manager
import random
my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\STKAITI.TTF")
x=range(12)
y_1=[random.randint(30,70) for i in range(12)]
y_2=[random.randint(30,70) for i in range(12)]

x_xticks=["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"]
#设置大小
plt.figure(figsize=(10,8),dpi=80,facecolor='snow')
#设置标识
plt.title("生肖的智商",fontproperties=my_font)
plt.ylabel("智商",fontproperties=my_font)
plt.xlabel("生肖",fontproperties=my_font)
#设置xy
plt.xticks(range(0,24,2),x_xticks,rotation=0,fontproperties=my_font)
plt.xticks(range(1,25,2),x_xticks,rotation=0,fontproperties=my_font)

#横着画
#plt.barh(x,y_1,label="智商",height=1)
plt.bar(range(0,24,2),y_1,label="智商",width=0.1)
plt.bar(range(1,25,2),y_2,label="情商",width=0.1)
#网格
plt.grid(alpha=0.4)#linestyle

plt.legend(prop=my_font,loc=5)
plt.show()


#直方图
from matplotlib import pyplot as pt
from matplotlib import font_manager
import random
my_font=font_manager.FontProperties(fname="C:\Windows\Fonts\STKAITI.TTF")
a=[random.randint(60,100) for i in range(300)]
#组距=5
w=5
#组数
n=(max(a)-min(a))//w
#画刻度
x_3=range(min(a),max(a)+w,w)
x_xticks=["第{}组".format(i) for i in range(8)]
plt.xticks(x_3,x_xticks,fontproperties=my_font)
#分为两组画出来
plt.hist(a,n,width=0.1)
plt.show()



#画字
from matplotlib import pyplot as plt
from matplotlib import font_manager
import random
s='put some text\nwusen'
plt.axis('off')
plt.text(0, 0.8, s)
#‘bmh’, ‘classic’, ‘dark_background’, ‘fast’, ‘fivethirtyeight’, ‘ggplot’, ‘grayscale’, ‘seaborn-bright’, ‘seaborn-muted’, ‘seaborn-notebook’, ‘seaborn-paper’, ‘seaborn-pastel’, ‘seaborn-poster’, ‘seaborn-talk’, ‘seaborn-ticks’, ‘seaborn-white’, ‘seaborn-whitegrid’, ‘seaborn’, ‘Solarize_Light2’, ‘tableau-colorblind10’, ‘_classic_test’

plt.style.use('classic')
axs3=plt.subplot()

View Code

新版总结:

1.画折线图:plot

import numpy as np
import matplotlib
from matplotlib import pyplot as plt
from matplotlib import font_manager
# 设置字体方式一
# font={
#     'family':'MicroSoft YaHei',
#     'weight':'bold',
#     'size':'30'
# }
# matplotlib.rc("font",**font)
# 设置字体方式二:里面有参数,自己去看
my_font=font_manager.FontProperties(fname="fonts/华文彩云.ttf")
# 初始化画布figsize=(15,5)是长宽比,dpi代表倍数,像素就是figsize*dpi
fig=plt.figure(figsize=(15,5),dpi=80)
# 产生步长为2的一个列表
x = np.arange(0,20,2)
# randint里面可以size参数可以是数值也可以是元组
y1 = np.random.randint(0,100,size=(10))
y2 = np.random.randint(0,100,size=(10))
# 这一句是把图形画上去
# linestyle:'-', '--', '-.', ':', 'None', ' ', '', 'solid', 'dashed', 'dashdot', 'dotted'
plt.plot(x,y1,label="a",color="r",linestyle="--",linewidth=1)
plt.plot(x,y2,label="b")
# plt.yticks(y)#设置y坐标
#设置x范围,设置角度
plt.xticks(x,rotation=90)
# 背景格子线
plt.grid(alpha=0.1)#linestyle
# 画标题
plt.title("TITLE",fontproperties=my_font)
# 画栅格
plt.legend(prop=my_font,loc=2)
#保存文件,格式可以是svg  png jpg ...
# plt.savefig("f://b.svg")
plt.show()#展示

View Code

2.散点图

# plt.scatter(x,y1,label="a",color="r",linestyle="--",linewidth=1)

View Code

3.条形图

# plt.bar(x,y3,label="c")

View Code

4.直方图,我不知道跟条形图啥区别

from matplotlib import pyplot as pt
from matplotlib import font_manager
import random
my_font=font_manager.FontProperties(fname="fonts/华文彩云.ttf")
a=[random.randint(60,100) for i in range(300)]
print(len(a),a)
#组距=5
w=5
#组数
n=(max(a)-min(a))//w
print(n)
#画刻度
x_3=range(min(a),max(a)+w,w)
x_xticks=["第{}组".format(i) for i in range(8)]
# x_xticks = ["A","B","C","D","E","F","G","H","I"]
plt.xticks(x_3,x_xticks,fontproperties=my_font)
#分为两组画出来
plt.hist(a,n,width=3)
plt.show()

View Code

5也可以往图上写字,

from matplotlib import pyplot as plt
# from matplotlib import font_manager
# import random
# s='put some text\nwusen'
# plt.axis('off')
# plt.text(0, 0.8, s)
# #‘bmh’, ‘classic’, ‘dark_background’, ‘fast’, ‘fivethirtyeight’, ‘ggplot’, ‘grayscale’, ‘seaborn-bright’, ‘seaborn-muted’, ‘seaborn-notebook’, ‘seaborn-paper’, ‘seaborn-pastel’, ‘seaborn-poster’, ‘seaborn-talk’, ‘seaborn-ticks’, ‘seaborn-white’, ‘seaborn-whitegrid’, ‘seaborn’, ‘Solarize_Light2’, ‘tableau-colorblind10’, ‘_classic_test’
# plt.style.use('classic')
# axs3=plt.subplot()
# plt.show()

相关文章
|
6月前
|
数据可视化 数据挖掘 大数据
【数据分析与可视化】Matplotlib绘图基础语法讲解(图文解释 超详细)
【数据分析与可视化】Matplotlib绘图基础语法讲解(图文解释 超详细)
180 0
|
数据可视化 程序员 Python
python生成可视化数据(matplotlib)进阶版
上期我们讲到如何用matplotlib模块将表格里的数据转换成可视化的折线图,但是,这里会有一个问题,表格里的数据是死的,是我随手创建的。在这一期,我将讲解如何通过requests+matplotlib等编写一个真实数据的可视化内容。
|
6月前
|
数据可视化 数据挖掘 Python
【数据分析与可视化】Matplotlib中动态rc参数设置详解与实战(图文解释 附源码)
【数据分析与可视化】Matplotlib中动态rc参数设置详解与实战(图文解释 附源码)
271 0
|
6月前
|
资源调度 自然语言处理 数据可视化
【数据分析与可视化】Matplotlib中十大绘图模型的讲解及实现(图文解释 附源码)
【数据分析与可视化】Matplotlib中十大绘图模型的讲解及实现(图文解释 附源码)
107 1
|
数据可视化 定位技术 Python
【100天精通Python】Day68:Python可视化_Matplotlib 绘制热力图,示例+代码
【100天精通Python】Day68:Python可视化_Matplotlib 绘制热力图,示例+代码
1859 0
|
4月前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
83 1
|
3月前
|
数据可视化 Python
matplotlib可视化必知必会富文本绘制方法
matplotlib可视化必知必会富文本绘制方法
|
4月前
|
数据可视化 数据挖掘 Python
数据界的颜值担当!Python数据分析遇上Matplotlib、Seaborn,可视化美出新高度!
【7月更文挑战第24天】在数据科学领域,Python的Matplotlib与Seaborn将数据可视化升华为艺术,提升报告魅力。Matplotlib作为基石,灵活性强,新手友好;代码示例展示正弦波图的绘制与美化技巧。Seaborn针对统计图表,提供直观且美观的图形,如小提琴图,增强数据表达力。两者结合,创造视觉盛宴,如分析电商平台销售数据时,Matplotlib描绘趋势,Seaborn揭示类别差异,共塑洞察力强的作品,使数据可视化成为触动人心的艺术。
65 7
|
4月前
|
机器学习/深度学习 数据可视化 搜索推荐
Pandas 和 Matplotlib 可视化
【7月更文挑战第14天】Pandas 和 Matplotlib 是Python数据分析的核心库,用于数据探索性可视化。首先,通过`pip install pandas matplotlib`安装库。接着,使用`pd.read_csv()`加载CSV数据,`df.describe()`查看统计信息。利用Matplotlib的`hist()`, `scatter()`, 和 `boxplot()`绘制直方图、散点图和箱线图,展示数据分布和关系。通过`subplots()`创建多图展示,自定义样式如颜色、标记,并添加注释和标题。高级技巧包括热力图、时间序列图、分组可视化及Seaborn和Plotly
56 10
|
4月前
|
数据可视化 数据挖掘 Python

热门文章

最新文章