日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

scatter python_python数据可视化(matplotlib、scatter)

發(fā)布時間:2023/12/15 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 scatter python_python数据可视化(matplotlib、scatter) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

數(shù)據(jù)可視化

1.matplotlib

Matplotlib 可能是 Python 2D-繪圖領(lǐng)域使用最廣泛的套件。它能讓使用者很輕松地將數(shù)據(jù)圖形化,并且提供多樣化的輸出格式。這里將會探索 matplotlib 的常見用法。

安裝matplotib

pip install -i https://pypi.douban.com/simple/ matplotlib

測試matplotib

$python

>>>import matplotlib

>>>

#沒有錯誤信息輸出,則表示matplotlib安裝成功。

這個可能pyCharm識別不了,可以進行以下操作

實例一(線條)

import matplotlib.pyplot as plt

squares = [1,4,9,16,25]

plt.plot(squares)

plt.show()

實例二(線條)

import matplotlib.pyplot as plt

squares = [1,4,9,16,25]

#修改線條的寬度: linewidth

plt.plot(squares,linewidth=5)

#設(shè)置圖標的標題,并且給坐標軸加上標簽

plt.title('queares number',fontsize=24)

plt.xlabel('value',fontsize=24)

plt.ylabel('quares value',fontsize=24)

# 設(shè)置刻度標記的大小

plt.tick_params(axis="both",labelsize=14)

plt.show()

實例三(線條)

import matplotlib.pyplot as plt

#捕入值

input_values = [1,2,3,4,5]

#輸出值

squares = [1,4,9,16,25]

#修改線條的寬度: linewidth

plt.plot(input_values,squares,linewidth=5)

#設(shè)置圖標的標題,并且給坐標軸加上標簽

plt.title('queares number',fontsize=24)

plt.xlabel('value',fontsize=24)

plt.ylabel('quares value',fontsize=24)

# 設(shè)置刻度標記的大小

plt.tick_params(axis="both",labelsize=14)

plt.show()

實例四(單點)

import matplotlib.pyplot as plt

plt.scatter(2,4)

plt.show()

實例五(單點)

import matplotlib.pyplot as plt

plt.scatter(2,4)

#設(shè)置圖標標題,并且給坐標軸加上標簽

plt.title('squares numbers',fontsize=24)

plt.xlabel('value',fontsize=24)

plt.ylabel('squares of value',fontsize=14)

# 設(shè)置刻度標記的大小

plt.tick_params(axis="both",which='major',labelsize=14)

plt.show()

實例六(多點)

import matplotlib.pyplot as plt

x_values = [1,2,3,4,5]

y_values = [1,4,9,16,25]

plt.scatter(x_values,y_values,s=100)

#設(shè)置圖標標題,并且給坐標軸加上標簽

plt.title('squares numbers',fontsize=24)

plt.xlabel('value',fontsize=24)

plt.ylabel('squares of value',fontsize=14)

# 設(shè)置刻度標記的大小

plt.tick_params(axis="both",which='major',labelsize=14)

plt.show()

實例七(多點連線)

import matplotlib.pyplot as plt

x_values = list(range(1,1001))

y_values = [x ** 2 for x in x_values]

plt.scatter(x_values,y_values,s=100)

#設(shè)置圖標標題,并且給坐標軸加上標簽

plt.title('squares numbers',fontsize=24)

plt.xlabel('value',fontsize=24)

plt.ylabel('squares of value',fontsize=14)

# 設(shè)置刻度標記的大小

plt.tick_params(axis="both",which='major',labelsize=14)

#設(shè)置每個坐標軸的取值范圍

plt.axis([0,1100,0,1100000])

plt.show()

分析一下

實例八(多點連線、自定義顏色)

# 自定義顏色

import matplotlib.pyplot as plt

x_values = list(range(1,1001))

y_values = [x ** 2 for x in x_values]

plt.scatter(x_values,y_values,c='red',s=100)

#設(shè)置圖標標題,并且給坐標軸加上標簽

plt.title('squares numbers',fontsize=24)

plt.xlabel('value',fontsize=24)

plt.ylabel('squares of value',fontsize=14)

# 設(shè)置刻度標記的大小

plt.tick_params(axis="both",which='major',labelsize=14)

#設(shè)置每個坐標軸的取值范圍

plt.axis([0,1100,0,1100000])

plt.show()

實例九(多點連線、自定義顏色)

# 自定義顏色

import matplotlib.pyplot as plt

x_values = list(range(1,1001))

y_values = [x ** 2 for x in x_values]

#參數(shù)c表示紅綠藍3種顏色的分量

plt.scatter(x_values,y_values,c=(0,0.5,0.2),s=100)

#設(shè)置圖標標題,并且給坐標軸加上標簽

plt.title('squares numbers',fontsize=24)

plt.xlabel('value',fontsize=24)

plt.ylabel('squares of value',fontsize=14)

# 設(shè)置刻度標記的大小

plt.tick_params(axis="both",which='major',labelsize=14)

#設(shè)置每個坐標軸的取值范圍

plt.axis([0,1100,0,1100000])

plt.show()

實例十(多點連線、自定義顏色,漸變色,保存圖片)

# 自定義顏色

import matplotlib.pyplot as plt

x_values = list(range(1,1001))

y_values = [x ** 2 for x in x_values]

# 將參數(shù)c設(shè)置為一個y值的列表,使用參數(shù)cmap告訴plot使用哪個顏色映射

plt.scatter(x_values,y_values,c=y_values,cmap=plt.cm.Blues,s=100)

#設(shè)置圖標標題,并且給坐標軸加上標簽

plt.title('squares numbers',fontsize=24)

plt.xlabel('value',fontsize=24)

plt.ylabel('squares of value',fontsize=14)

# 設(shè)置刻度標記的大小

plt.tick_params(axis="both",which='major',labelsize=14)

#設(shè)置每個坐標軸的取值范圍

plt.axis([0,1100,0,1100000])

# plt.show()

# bbox_inches='tight' -->將圖表多余的空白區(qū)域哉減掉

# 保存圖片為squares1.png

plt.savefig('squares1.png',bbox_inches='tight')

實例十一(多點連線、自定義顏色,漸變色,保存圖片)

import matplotlib.pyplot as plt

# plt.scatter(2,4)

x_values = list(range(1, 1001))

y_values = [x ** 2 for x in x_values]

# plt.scatter(x_values, y_values,c='red', s=50)

## 參數(shù)c表示紅綠藍3種顏色的分量

# plt.scatter(x_values, y_values,c=(0,0.5,0.2), s=50)

## 將參數(shù)c設(shè)置為一個y值的列表,使用參數(shù)cmap告訴plot使用哪個顏色映射

plt.scatter(x_values, y_values,c=y_values,cmap=plt.cm.Reds, s=50)

# 設(shè)置圖標標題,并且 給坐標軸加上標簽

plt.title('squares numbers', fontsize=24)

plt.xlabel('value', fontsize=24)

plt.ylabel('square of value', fontsize=14)

# 設(shè)置刻度的標記大小

plt.tick_params(axis='both', which='major', labelsize=14)

# 設(shè)置每個坐標軸的取值范圍

plt.axis([0,1100,0,1100000])

# plt.show()

# 保存圖片為squares22.png

plt.savefig('squares22.png',bbox_inches='tight')

2、隨機漫步

# 隨機漫步

from random import choice

class RandomWalk():

"""-個生成隨機漫步數(shù)據(jù)的類"""

def __init__(self,num_points=5000):

"""初始化隨機漫步的屬性"""

self.num_points = num_points

# 所有隨機漫步都始于(0,0)

self.x_values = [0]

self.y_values = [0]

def fill_walk(self):

"""計算隨機漫步包含的所有點"""

# 不斷漫步,直到列表達到指定的長度

while len(self.x_values) < self.num_points:

# 決定前進方向以及沿著這個方向前進的距離

x_direction = choice([1,-1])

x_distance = choice([0,1,2,3,4])

x_step = x_direction * x_distance

y_direction = choice([1,-1])

y_distance = choice([0,1,2,3,4])

y_step = y_direction * y_distance

# 拒絕原地踏步

if x_step == 0 and y_step ==0:

continue

# 計算下一個點的x和y的值

next_x =self.x_values[-1] + x_step

next_y =self.y_values[-1] + y_step

#

# 不斷漫步,直到列表達到指定的長度

while len(self.x_values) < self.num_points:

# 決定前進方向以及沿著這個方向前進的距離

x_direction = choice([1, -1])

x_distance = choice([0, 1, 2, 3, 4])

x_step = x_direction * x_distance

y_direction = choice([1, -1])

y_distance = choice([0, 1, 2, 3, 4])

y_step = y_direction * y_distance

# 決絕原地踏步

if x_step == 0 and y_step == 0:

continue

# 計算下一個點的x和y的值

next_x = self.x_values[-1] + x_step

next_y = self.y_values[-1] + y_step

#

self.x_values.append(next_x)

self.y_values.append(next_y)

實例一(隨機漫步,自定義顏色)

import matplotlib.pyplot as plt

from 示例.mpl_squares import RandomWalk

# 創(chuàng)建RandomWalk實例,并且將包含的點都繪制出來

rw = RandomWalk()

rw.fill_walk()

# 給點著色

point_numbers = list(range(rw.num_points))

plt.scatter(rw.x_values, rw.y_values, c=point_numbers,cmap=plt.cm.Greens,s=15)

# 隱藏邊框

# plt.axes().get_xaxis().set_visible(False)

# plt.axes().get_yaxis().set_visible(False)

plt.show()

實例二(隨機漫步,是否繼續(xù)生成)

import matplotlib.pyplot as plt

from 示例.mpl_squares import RandomWalk

while True:

# 創(chuàng)建RandomWalk實例,并且將包含的點都繪制出來

rw = RandomWalk()

rw.fill_walk()

plt.scatter(rw.x_values, rw.y_values, s=15)

# 隱藏邊框

# plt.axes().get_xaxis().set_visible(False)

# plt.axes().get_yaxis().set_visible(False)

plt.show()

keep_running = input('繼續(xù)漫步嗎?(y/n)')

if keep_running == 'n':

break

輸出結(jié)果:

繼續(xù)漫步嗎?(y/n) y

實例三(隨機漫步,控制點數(shù),多點之間的距離)

import matplotlib.pyplot as plt

from 示例.mpl_squares import RandomWalk

# 創(chuàng)建RandomWalk實例,并且將包含的點都繪制出來

rw = RandomWalk()

rw.fill_walk()

# 給點著色

point_numbers = list(range(rw.num_points))

plt.scatter(0,0,c='green',s=100)

plt.scatter(rw.x_values[-1],rw.y_values[-1],c='red',s=100)

# plt.scatter(rw.x_values, rw.y_values, c=point_numbers,cmap=plt.cm.Greens,s=15)

# 隱藏邊框

# plt.axes().get_xaxis().set_visible(False)

# plt.axes().get_yaxis().set_visible(False)

plt.show()

實例四(隨機漫步,控制點數(shù)(控制多點之間的距離)+自定義點數(shù))

import matplotlib.pyplot as plt

from 示例.mpl_squares import RandomWalk

# 創(chuàng)建RandomWalk實例,并且將包含的點都繪制出來

rw = RandomWalk(500000)

rw.fill_walk()

# 給點著色

point_numbers = list(range(rw.num_points))

plt.scatter(0,0,c='green',s=100)

plt.scatter(rw.x_values[-1],rw.y_values[-1],c='red',s=100)

plt.scatter(rw.x_values, rw.y_values, c=point_numbers,cmap=plt.cm.Blues,s=1)

# 隱藏邊框

# plt.axes().get_xaxis().set_visible(False)

# plt.axes().get_yaxis().set_visible(False)

plt.figure(dpi=128, figsize=(10,6))

plt.show()

總結(jié)

以上是生活随笔為你收集整理的scatter python_python数据可视化(matplotlib、scatter)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。