Python可视化分析,pandas作图

#pandas中的绘图函数
import pandas as pd
import os
os.chdir(r'E:\可视化分析\Excel1\Python数据可视化2')  # 定义数据的目录
df=pd.read_csv('data.csv',index_col='年份') # 读取数据,并将年份作为index列
df.head()

  人均GDP(元) 啤酒产量(万千升) 居民消费价格指数(上面=100)
年份      
2000 7857.7 2231.3 100.4
2001 8621.7 2288.9 100.7
2002 9398.1 2402.7 99.2
2003 10542.0 2540.5 101.2
2004 12335.6 2948.6 103.9

x=df.index.values   # 将值定义为x
y=df['人均GDP(元)'].values  # 将值定义为y

# 设置字体,避免乱码
from pylab import mpl
mpl.rcParams['font.sans-serif']=['FangSong']  

import matplotlib.pyplot as plt

fig,ax=plt.subplots()
ax.plot(x,y,'r--o')
ax.set(title='人均GDP走势图',xlabel='年份',ylabel = '人均GDP')
plt.show()

Python可视化分析,pandas作图

# 另一种画图方式

fig = plt.figure()
ax=fig.add_subplot(111)

ax.plot(x,y,'r--o')
ax.set(title='人均GDP走势图',xlabel='年份',ylabel='人均GDP')
plt.show()

Python可视化分析,pandas作图

#pandas中的绘图函数
df['人均GDP(元)'].plot(color='r')
plt.show()

Python可视化分析,pandas作图

df['人均GDP(元)'].plot(kind='bar',color='blue')
plt.show()

Python可视化分析,pandas作图

df.plot()
plt.show()

 

Python可视化分析,pandas作图

df.plot(kind='bar')
plt.show()

Python可视化分析,pandas作图

# 堆积柱形图
df.plot(kind='bar',stacked =True)
plt.show()

Python可视化分析,pandas作图

# 常用图表绘制
# 散点图
import numpy as np
data =np.random.randint(0,100,size = [40,40])  # size指大小
# 二维散点图
x,y = data[0],data[1]
ax = plt.subplot(111)
ax.scatter(x[:10],y[:10],c='r')  # 定义索引0~10为红色
ax.scatter(x[10:20],y[10:20],c='b')  #定义索引10~20为红色
ax.set_xlabel('X')
ax.set_ylabel('Y')  # 定义y轴
plt.show()

Python可视化分析,pandas作图

# 三维散点图
from mpl_toolkits.mplot3d import Axes3D

x,y,z =data[0],data[1],data[2]
ax = plt.subplot(111,projection ='3d')
ax.scatter(x[:10],y[:10],z[:10],c = 'b')
ax.scatter(x[10:20],y[10:20],z[10:20],c= 'r')
ax.scatter(x[20:30],y[20:30],z[20:30],c= 'g')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
plt.show()

 

Python可视化分析,pandas作图

# 3、绘制词云图及jieba分词
from wordcloud import WordCloud
import jieba
print(list(jieba.cut('我是一个超级棒的yin')))

['我', '是', '一个', '超级', '棒', '的', 'yin']

# 将文本文件读取进来
with open('paragraph.txt',encoding = 'utf-8') as file:
    text =file.read()

wordlist_jieba = jieba.cut(text)
wordlist= '/'.join(wordlist_jieba)
print(wordlist)

/自然语言/处理/是/计算机科学/领域/与/人工智能/领域/中/的/一个/重要/方向/。/它/研究/能/实现/人/与/计算机/之间/用/自然语言/进行/有效/通信/的/各种/理论/和/方法/。/自然语言/处理/是/一门/融/语言学/、/计算机科学/、/数学/于/一体/的/科学/。/因此/,/这一/领域/的/研究/将/涉及/自然语言/,/即/人们/日常/使用/的/语言/,/所以/它/与/语言学/的/研究/有着/密切/的/联系/,/但/又/有/重要/的/区别/。/自然语言/处理/并/不是/一般/地/研究/自然语言/,/而/在于/研制/能/有效/地/实现/自然语言/通信/的/计算机系统/,/特别/是/其中/的/软件系统/。/因而/它/是/计算机科学/的/一部分/。

#绘制词云图
wordcloud = WordCloud(font_path = 'C:/Windows/Fonts/simfang.ttf').generate(wordlist)
image = wordcloud.to_image()
image.show()

Python可视化分析,pandas作图

#散点图矩阵
from sklearn.datasets import load_iris
iris_dataset=load_iris()

#绘制散点图矩阵
import pandas as pd

iris_df=pd.DataFrame(iris_dataset['data'],columns=iris_dataset.feature_names)
iris_df.head()

  sepal length (cm) sepal width (cm) petal length (cm) petal width (cm)
0 5.1 3.5 1.4 0.2
1 4.9 3.0 1.4 0.2
2 4.7 3.2 1.3 0.2
3 4.6 3.1 1.5 0.2
4 5.0 3.6 1.4

0.2

 

grr=pd.plotting.scatter_matrix(iris_df,c=iris_dataset['target'],figsize=(15,15),marker='o',alpha=0.5)

Python可视化分析,pandas作图

 

#逻辑回归中的sigmoid函数
#matplotlib,numpy

def sigmoid(x):
    return 1/(1+np.exp(-x))

from pylab import mpl

mpl.rcParams['axes.unicode_minus']=False

x=np.arange(-5,6,1)
fig,ax=plt.subplots()
ax.plot(x,sigmoid(x),'r')

Python可视化分析,pandas作图