最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)數(shù)據(jù)可視化案例分析

 更新時(shí)間:2022年08月03日 15:42:33   作者:biyezuopinvip  
這篇文章主要介紹了Python實(shí)現(xiàn)數(shù)據(jù)可視化案例分析,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

1. 問題描述

對(duì)右圖進(jìn)行修改:

  • 請(qǐng)更換圖形的風(fēng)格
  • 請(qǐng)將 x 軸的數(shù)據(jù)改為-10 到 10
  • 請(qǐng)自行構(gòu)造一個(gè) y 值的函數(shù)
  • 將直方圖上的數(shù)字,位置改到柱形圖的內(nèi)部垂直居中的位置
  • 對(duì)成績數(shù)據(jù) data1402.csv 進(jìn)行分段統(tǒng)計(jì):每 5 分作為一個(gè)分?jǐn)?shù)段,展示出每個(gè)分?jǐn)?shù)段的人數(shù)直方圖。
  • 自行創(chuàng)建出 10 個(gè)學(xué)生的 3 個(gè)學(xué)期排名數(shù)據(jù),并通過直方圖進(jìn)行對(duì)比展示。
  • 線圖
    • 把這個(gè)圖像做一些調(diào)整,要求出現(xiàn) 5 個(gè)完整的波峰。
    • 調(diào)大 cos 波形的幅度
    • 調(diào)大 sin 波形的頻率
  • 用線圖展示北京空氣質(zhì)量數(shù)據(jù)

展示 10-15 年 PM 指數(shù)月平均數(shù)據(jù)的變化情況,一幅圖中有 6 條曲線,每年 1 條曲線。

2. 實(shí)驗(yàn)環(huán)境

Microsoft Windows 10 版本18363

? PyCharm 2020.2.1 (Community Edition)

? Python 3.8(Scrapy 2.4.0 + numpy 1.19.4 + pandas 1.1.4 + matplotlib 3.3.3)

3. 實(shí)驗(yàn)步驟及結(jié)果

對(duì)右圖進(jìn)行修改:

  • 請(qǐng)更換圖形的風(fēng)格
  • 請(qǐng)將 x 軸的數(shù)據(jù)改為-10 到 10
  • 請(qǐng)自行構(gòu)造一個(gè) y 值的函數(shù)
  • 將直方圖上的數(shù)字,位置改到柱形圖的內(nèi)部垂直居中的位置
from matplotlib import pyplot as plt
import numpy as np

fig, ax = plt.subplots()
plt.style.use('classic')
plt.title("square numbers")

ax.set_xlim(-11, 11)
ax.set_ylim(0, 100)

x = np.array(range(-10, 11))
y = x * x
rect1 = plt.bar(x, y)
for r in rect1:
    ax.text(r.get_x(), r.get_height() / 2, r.get_height())
plt.show()

如圖使用 classic 風(fēng)格,x 軸數(shù)據(jù)為[-10, 10]的整數(shù),構(gòu)造的函數(shù)為 y=x2,顯示位置并將其將數(shù)值改到了柱形圖內(nèi)部垂直居中的位置。

對(duì)成績數(shù)據(jù) data1402.csv 進(jìn)行分段統(tǒng)計(jì):每 5 分作為一個(gè)分?jǐn)?shù)段,展示出每個(gè)分?jǐn)?shù)段的人數(shù)直方圖。

from matplotlib import pyplot as plt
import numpy as np
import pandas as pd

df = pd.read_csv("./data1402.csv", encoding='utf-8', dtype=str)
df = pd.DataFrame(df, columns=['score'], dtype=np.float)
section = np.array(range(0, 105, 5))
result = pd.cut(df['score'], section)
count = pd.value_counts(result, sort=False)
fig, ax = plt.subplots()
plt.style.use('classic')
ax.set_xlim(0, 100)
rect1 = plt.bar(np.arange(2.5, 100, 5), count, width=5)
for r in rect1:
    ax.text(r.get_x(), r.get_height(), r.get_height())
plt.show()

自行創(chuàng)建出 10 個(gè)學(xué)生的 3 個(gè)學(xué)期排名數(shù)據(jù),并通過直方圖進(jìn)行對(duì)比展示。

import random

semester1 = np.arange(1, 11)
semester2 = np.arange(1, 11)
semester3 = np.arange(1, 11)

random.shuffle(semester1)
random.shuffle(semester2)
random.shuffle(semester3)
df = pd.DataFrame({'semester1':semester1, 'semester2':semester2, 'semester3':semester3})
print(df)
df.to_csv("data1403.csv", encoding="utf-8")

使用如上代碼創(chuàng)建出隨機(jī)的排名數(shù)據(jù)。

df = pd.read_csv("./data1403.csv", encoding='utf-8', dtype=str)
df = pd.DataFrame(df, columns=['semester1', 'semester2', 'semester3'], dtype=np.int)

df['total'] = (df['semester1'] + df['semester2'] + df['semester3']) / 3
df = df.sort_values('total')

fig, ax = plt.subplots()
plt.style.use('classic')
plt.title('RANK')
width = 0.2
x = np.array(range(0, 10))
rect1 = ax.bar(x-2*width, df['semester1'], width=width, label='semester1')
rect2 = ax.bar(x-width, df['semester2'], width=width, label='semester2')
rect3 = ax.bar(x, df['semester3'], width=width, label='semester3')
for r in rect1:
    ax.text(r.get_x(), r.get_height(), r.get_height())
for r in rect2:
    ax.text(r.get_x(), r.get_height(), r.get_height())
for r in rect3:
    ax.text(r.get_x(), r.get_height(), r.get_height())
plt.legend(ncol=1)
plt.show()

如上代碼繪圖:

線圖 :

  • 把這個(gè)圖像做一些調(diào)整,要求出現(xiàn) 5 個(gè)完整的波峰。
  • 調(diào)大 cos 波形的幅度
  • 調(diào)大 sin 波形的頻率
import numpy as np
from matplotlib import pyplot as plt

x = np.linspace(-5 * np.pi, 5 * np.pi, 500)
y1 = 3 * np.cos(x)
y2 = np.sin(4*x)

fig, ax = plt.subplots()
plt.style.use('classic')
ax.spines["right"].set_visible(False)
ax.spines["top"].set_visible(False)
ax.spines['bottom'].set_position(('data',0))
ax.xaxis.set_ticks_position('bottom')
ax.spines['left'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
plt.plot(x, y1, color='blue', linestyle='-', label='y=3cosx')
plt.plot(x, y2, color='red', linestyle='-', label='y=sin3x')
plt.legend()
plt.show()

用線圖展示北京空氣質(zhì)量數(shù)據(jù)

展示 10-15 年 PM 指數(shù)月平均數(shù)據(jù)的變化情況,一幅圖中有 6 條曲線,每年 1 條曲線。

import numpy as np
import pandas as pd
from matplotlib import pyplot as plt
orig_df = pd.read_csv("./BeijingPM20100101_20151231.csv", encoding='utf-8', dtype=str)
orig_df = pd.DataFrame(orig_df, columns=['year', 'month', 'PM_US Post'])
df = orig_df.dropna(0, how='any')
df['month'] = df['month'].astype(int)
df['year'] = df['year'].astype(int)
df['PM_US Post'] = df['PM_US Post'].astype(int)
df.reset_index(drop=True, inplace=True)
num = len(df)
section = np.arange(1, 13)
record = 0
fig, ax = plt.subplots()
plt.style.use('classic')
plt.title("2010-2015 Beijing average PM2.5(from PM_US Post) per month")

for nowyear in range(2010, 2016):
    i = record
    result = [0 for i in range(13)]
    nowsum = 0
    cntday = 0
    nowmonth = 1
    while i < num:
        if df['month'][i] == nowmonth:
            cntday = cntday + 1
            nowsum = nowsum + df['PM_US Post'][i]
        else:
            if df['year'][i] != nowyear:
                record = i
                result[nowmonth] = nowsum / cntday
                break
            result[nowmonth] = nowsum / cntday
            cntday = 1
            nowsum = df['PM_US Post'][i]
            nowmonth = df['month'][i]
        i = i + 1
    result = result[1:]
    #
    x = np.array(range(1, 13))
    plt.plot(x, result, linestyle='-', label=str(nowyear))
plt.legend()
plt.show()

到此這篇關(guān)于Python實(shí)現(xiàn)數(shù)據(jù)可視化案例分析的文章就介紹到這了,更多相關(guān)Python數(shù)據(jù)可視化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 用Python制作在地圖上模擬瘟疫擴(kuò)散的Gif圖

    用Python制作在地圖上模擬瘟疫擴(kuò)散的Gif圖

    這篇文章主要介紹了如何用Python制作在地圖上模擬瘟疫擴(kuò)散的Gif圖,其中用到了歐拉公式等數(shù)學(xué)知識(shí)、需要一定的算法基礎(chǔ),需要的朋友可以參考下
    2015-03-03
  • Python實(shí)現(xiàn)簡單的文本相似度分析操作詳解

    Python實(shí)現(xiàn)簡單的文本相似度分析操作詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)簡單的文本相似度分析操作,結(jié)合實(shí)例形式分析了Python基于分詞API庫jieba及文本相似度庫gensim針對(duì)文本進(jìn)行相似度分析操作的實(shí)現(xiàn)技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-06-06
  • python實(shí)現(xiàn)AES加密解密

    python實(shí)現(xiàn)AES加密解密

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)AES加密解密的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-03-03
  • Keras搭建Mask?R-CNN實(shí)例分割平臺(tái)實(shí)現(xiàn)源碼

    Keras搭建Mask?R-CNN實(shí)例分割平臺(tái)實(shí)現(xiàn)源碼

    這篇文章主要為大家介紹了Keras搭建Mask?R-CNN實(shí)例分割平臺(tái)實(shí)現(xiàn)源碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Anaconda安裝pytorch及配置PyCharm 2021環(huán)境

    Anaconda安裝pytorch及配置PyCharm 2021環(huán)境

    小編使用的是python3.8版本,為了防止訪問量過大導(dǎo)致http連接失敗,所以采用本地安裝,具體安裝方法本文給大家詳細(xì)介紹,在文章底部給大家提到了PyCharm 2021配置環(huán)境的方法,感興趣的朋友一起看看吧
    2021-06-06
  • python內(nèi)置模塊OS?實(shí)現(xiàn)SHELL端文件處理器

    python內(nèi)置模塊OS?實(shí)現(xiàn)SHELL端文件處理器

    這篇文章主要介紹了python內(nèi)置模塊OS實(shí)現(xiàn)SHELL端文件處理器,文章通過圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Python基礎(chǔ)練習(xí)之用戶登錄實(shí)現(xiàn)代碼分享

    Python基礎(chǔ)練習(xí)之用戶登錄實(shí)現(xiàn)代碼分享

    這篇文章主要介紹了Python基礎(chǔ)練習(xí)之用戶登錄實(shí)現(xiàn)代碼分享,還是比較不錯(cuò)的,這里分享給大家,供需要的朋友參考。
    2017-11-11
  • Python中文檔處理神器python-docx的用法解析

    Python中文檔處理神器python-docx的用法解析

    Python中有一個(gè)python-docx的庫,它允許創(chuàng)建、修改和操作Word文檔,本文將詳細(xì)介紹python-docx庫的用法,包括如何創(chuàng)建文檔、添加文本、格式化文本等,需要的可以參考下
    2023-11-11
  • OpenCV實(shí)現(xiàn)常見的四種圖像幾何變換

    OpenCV實(shí)現(xiàn)常見的四種圖像幾何變換

    這篇文章主要介紹了利用OpenCV實(shí)現(xiàn)的四種圖像幾何變換:縮放、翻轉(zhuǎn)、仿射變換及透視。文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編學(xué)習(xí)一下
    2022-04-04
  • Python如何批量獲取文件夾的大小并保存

    Python如何批量獲取文件夾的大小并保存

    這篇文章主要介紹了Python如何批量獲取文件夾的大小并保存,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03

最新評(píng)論

广东省| 金山区| 德清县| 承德市| 合阳县| 临清市| 云南省| 襄垣县| 沾化县| 邢台市| 明溪县| 互助| 平和县| 贵州省| 垫江县| 军事| 惠安县| 桂平市| 潼南县| 德钦县| 区。| 塔城市| 大荔县| 腾冲县| 侯马市| 德惠市| 通辽市| 霍林郭勒市| 平山县| 涞水县| 紫云| 延长县| 德钦县| 越西县| 罗田县| 长沙县| 普兰店市| 晋中市| 札达县| 黄石市| 丹阳市|