国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

python讀取excel數(shù)據(jù)并用雙y軸繪制柱狀圖和折線圖,柱子用漸變顏色填充

這篇具有很好參考價(jià)值的文章主要介紹了python讀取excel數(shù)據(jù)并用雙y軸繪制柱狀圖和折線圖,柱子用漸變顏色填充。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

python繪圖系列文章目錄

往期python繪圖合集:
python繪制簡(jiǎn)單的折線圖
python讀取excel中數(shù)據(jù)并繪制多子圖多組圖在一張畫布上
python繪制帶誤差棒的柱狀圖
python繪制多子圖并單獨(dú)顯示
python讀取excel數(shù)據(jù)并繪制多y軸圖像
python繪制柱狀圖并美化|不同顏色填充柱子
python隨機(jī)生成數(shù)據(jù)并用雙y軸繪制兩條帶誤差棒的折線圖
Python繪制帶誤差棒的柱狀圖漸變色填充含數(shù)據(jù)標(biāo)注(進(jìn)階)
python繪制散點(diǎn)圖|散點(diǎn)大小和顏色深淺由數(shù)值決定
Matplotlib繪制漂亮的餅狀圖|python繪制漂亮的餅狀圖


一、 數(shù)據(jù)準(zhǔn)備

通過 Pandas 的 read_excel() 函數(shù)讀取了 Excel 文件,將其轉(zhuǎn)為了數(shù)據(jù)框格式,并設(shè)置字體字號(hào),畫布大小。

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

excel = pd.read_excel("C:/Users/ypzhao/Desktop/新能源汽車數(shù)據(jù).xlsx")
data = pd.DataFrame(excel)
# 生成隨機(jī)數(shù)據(jù)
x = data['年份']
y1 = data['銷量']
y2 = data['增長(zhǎng)率']
# 設(shè)置字體和字號(hào)
matplotlib.rcParams['font.family'] = 'Times New Roman'
matplotlib.rcParams['font.size'] = 24

font = {'family':'Times New Roman','size':28}
# 創(chuàng)建畫布和子圖
fig, ax1 = plt.subplots(figsize=(11,6),dpi=3000)

python讀取excel數(shù)據(jù)并用雙y軸繪制柱狀圖和折線圖,柱子用漸變顏色填充

二、增加y軸

使用 ax1.bar() 函數(shù)繪制柱狀圖,ax2.plot() 函數(shù)繪制折線圖,設(shè)置坐標(biāo)軸標(biāo)簽和標(biāo)題,并設(shè)置坐標(biāo)軸字體和字號(hào)。

# 設(shè)置字體和字號(hào)
matplotlib.rcParams['font.family'] = 'Times New Roman'
matplotlib.rcParams['font.size'] = 24

font = {'family':'Times New Roman','size':28}
# 創(chuàng)建畫布和子圖
fig, ax1 = plt.subplots(figsize=(11,6),dpi=3000)
ax2 = ax1.twinx()

三、準(zhǔn)備顏色漸變

3.1 準(zhǔn)備顏色漸變

n_groups = 6
cmap = plt.get_cmap('coolwarm')
colors_1 = [cmap(i) for i in np.linspace(0, 0.8, n_groups)]

# 繪制圖
#繪制折線圖
bar_plot=ax1.bar(x, y1, color=colors_1)
#繪制柱狀圖
ax2.plot(x, y2, color='green',marker='*',markersize=10)

3.2 美化圖

# 設(shè)置坐標(biāo)軸標(biāo)簽和標(biāo)題
ax1.set_xlabel('年份',fontname='SimSun')
ax2.set_ylabel('增長(zhǎng)率/%', color='#3F7F4C',fontname='SimSun')
ax1.set_ylabel('銷量/萬輛', color='#6D8F18',fontname='SimSun')

# 設(shè)置坐標(biāo)軸字體和字號(hào)
for ax in [ax1, ax2]:
    ax.tick_params(axis='both', which='major', labelsize=20)
    for tick in ax.get_xticklabels() + ax.get_yticklabels():
        tick.set_fontname('Times New Roman')
        # 設(shè)置坐標(biāo)軸標(biāo)簽和標(biāo)題
ax1.set_xlabel('年份',fontname='SimSun')
ax2.set_ylabel('增長(zhǎng)率/%', color='#3F7F4C',fontname='SimSun')
ax1.set_ylabel('銷量/萬輛', color='#6D8F18',fontname='SimSun')

# 設(shè)置坐標(biāo)軸字體和字號(hào)
for ax in [ax1, ax2]:
    ax.tick_params(axis='both', which='major', labelsize=20)
    for tick in ax.get_xticklabels() + ax.get_yticklabels():
        tick.set_fontname('Times New Roman')
# 設(shè)置網(wǎng)格線不可見
ax1.grid(visible=False)
ax2.grid(visible=False)
ax2.set_ylim(-45,390)
ax1.set_ylim(0,730)

# 設(shè)置雙坐標(biāo)軸的顏色不一致
ax1.spines['left'].set_color('#6D8F18')
ax1.spines['right'].set_color('#3F7F4C')
ax1.tick_params(axis='y', colors='#6D8F18')
ax2.tick_params(axis='y', colors='#3F7F4C')
ax1.grid(visible=False)
ax2.grid(visible=False)
ax2.set_ylim(-45,390)
ax1.set_ylim(0,730)

# 設(shè)置雙坐標(biāo)軸的顏色不一致
ax1.spines['left'].set_color('#6D8F18')
ax1.spines['right'].set_color('#3F7F4C')
ax1.tick_params(axis='y', colors='#6D8F18')
ax2.tick_params(axis='y', colors='#3F7F4C')

3.3給折線圖增添數(shù)據(jù)

for i, j in zip(x, y2):
    ax.annotate('{:.2f}'.format(j), xy=(i, j), xytext=(-10, 10),
                textcoords='offset points', fontsize=16)

3.4 調(diào)柱狀圖增加數(shù)據(jù)

for rect in bar_plot:
    height = rect.get_height()
    ax1.text(rect.get_x() + rect.get_width()/2., height+1, '%.1f' % (height),
            ha='center', va='bottom', fontsize=16, color='blue',fontname='Times New Roman')  # 字體顏色藍(lán)色
# 自動(dòng)調(diào)整布局
plt.tight_layout()

使用 rect.get_x() + rect.get_width()/2. 表示標(biāo)簽文本的位置,在柱形中心正上方;使用 rect.get_height()+0.5 表示標(biāo)簽文本的高度,在柱形頂端上方略微偏移;ha 和 va 參數(shù)分別用于設(shè)置文本標(biāo)簽的水平和垂直對(duì)齊方式。最后,f’{y[i]}’ 表示標(biāo)簽文本內(nèi)容,即柱形高度。

四、完成代碼

# -*- coding: utf-8 -*-
"""
Created on Sat May 20 17:55:37 2023

@author: ypzhao
"""

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

excel = pd.read_excel("C:/Users/ypzhao/Desktop/新能源汽車數(shù)據(jù).xlsx")
data = pd.DataFrame(excel)

# 生成隨機(jī)數(shù)據(jù)
x = data['年份']
y1 = data['銷量']
y2 = data['增長(zhǎng)率']

# 設(shè)置字體和字號(hào)
matplotlib.rcParams['font.family'] = 'Times New Roman'
matplotlib.rcParams['font.size'] = 24

font = {'family':'Times New Roman','size':28}
# 創(chuàng)建畫布和子圖
fig, ax1 = plt.subplots(figsize=(11,6),dpi=3000)
ax2 = ax1.twinx()



# 準(zhǔn)備顏色漸變
n_groups = 6
cmap = plt.get_cmap('coolwarm')
colors_1 = [cmap(i) for i in np.linspace(0, 0.8, n_groups)]

# 繪制圖
bar_plot=ax1.bar(x, y1, color=colors_1)
# 調(diào)整字體顏色、柱子寬度等其他參數(shù)

ax2.plot(x, y2, color='green',marker='*',markersize=10)


# 設(shè)置坐標(biāo)軸標(biāo)簽和標(biāo)題
ax1.set_xlabel('年份',fontname='SimSun')
ax2.set_ylabel('增長(zhǎng)率/%', color='#3F7F4C',fontname='SimSun')
ax1.set_ylabel('銷量/萬輛', color='#6D8F18',fontname='SimSun')


# 設(shè)置坐標(biāo)軸字體和字號(hào)
for ax in [ax1, ax2]:
    ax.tick_params(axis='both', which='major', labelsize=20)
    for tick in ax.get_xticklabels() + ax.get_yticklabels():
        tick.set_fontname('Times New Roman')

# 設(shè)置網(wǎng)格線不可見
ax1.grid(visible=False)
ax2.grid(visible=False)
ax2.set_ylim(-45,390)
ax1.set_ylim(0,730)

# 設(shè)置雙坐標(biāo)軸的顏色不一致
ax1.spines['left'].set_color('#6D8F18')
ax1.spines['right'].set_color('#3F7F4C')
ax1.tick_params(axis='y', colors='#6D8F18')
ax2.tick_params(axis='y', colors='#3F7F4C')

# 給折線圖增添數(shù)據(jù)
for i, j in zip(x, y2):
    ax.annotate('{:.2f}'.format(j), xy=(i, j), xytext=(-10, 10),
                textcoords='offset points', fontsize=16)
    

# 調(diào)柱狀圖增加數(shù)據(jù)
for rect in bar_plot:
    height = rect.get_height()
    ax1.text(rect.get_x() + rect.get_width()/2., height+1, '%.1f' % (height),
            ha='center', va='bottom', fontsize=16, color='blue',fontname='Times New Roman')  # 字體顏色藍(lán)色
# 自動(dòng)調(diào)整布局
plt.tight_layout()

plt.savefig("sells.jpg",dpi=3000)

六 運(yùn)行結(jié)果

python讀取excel數(shù)據(jù)并用雙y軸繪制柱狀圖和折線圖,柱子用漸變顏色填充
本文涉及數(shù)據(jù)鏈接及代碼(點(diǎn)擊獲取數(shù)據(jù)):文章來源地址http://www.zghlxwxcb.cn/news/detail-495985.html

到了這里,關(guān)于python讀取excel數(shù)據(jù)并用雙y軸繪制柱狀圖和折線圖,柱子用漸變顏色填充的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • R語言學(xué)習(xí)——散點(diǎn)圖和折線圖

    BMI.txt name height weight gender BMI tom 180 75 male 23.1481481481481 cindy 165 58 female 21.3039485766759 jimmy 175 72 male 23.5102040816327 sam 173 68 male 22.7204383708109 lucy 160 60 female 23.4375 lily 165 55 female 20.2020202020202

    2024年02月12日
    瀏覽(19)
  • 【Python】查詢SQL并用柱狀圖展示

    【Python】查詢SQL并用柱狀圖展示

    需求: 查詢2022年各月訂單量,并用柱狀圖展示 SQL: Python代碼: 結(jié)果展示: ?

    2024年02月13日
    瀏覽(83)
  • python讀取Excel繪制餅圖的兩種方式

    python讀取Excel繪制餅圖的兩種方式

    matplotlib 簡(jiǎn)單方便,適合數(shù)據(jù)作圖或科學(xué)作圖(論文發(fā)表) pyecharts 流程略復(fù)雜,但功能強(qiáng)大,圖形具有交互式,適合項(xiàng)目開發(fā)或商業(yè)分析報(bào)告,但是 它是一個(gè)非常新的庫(kù),開發(fā)不穩(wěn)定 本文介紹用 pandas庫(kù) 讀取Excel (csv)數(shù)據(jù),分別用 matplotlib庫(kù) 和 pyecharts庫(kù) 繪制餅圖。 注: 實(shí)

    2024年02月11日
    瀏覽(23)
  • Excel雙向柱狀圖的繪制

    Excel雙向柱狀圖的繪制

    Excel雙向柱狀圖在繪制增減比較的時(shí)候經(jīng)常用到,叫法繁多,雙向柱狀圖、上下柱狀圖、增減柱狀圖都有。 這里主要介紹一下Excel的基礎(chǔ)繪制方法和復(fù)雜一點(diǎn)的雙向柱狀圖的繪制 首先升降的數(shù)據(jù)如下: 月份 上升 下降 202203 59 -43 202204 56 -21 首先選擇數(shù)據(jù)后插入–柱狀圖,選擇

    2024年02月15日
    瀏覽(19)
  • 【Python】pyecharts 模塊 ⑥ ( 繪制柱狀圖 | pyecharts 繪制柱狀圖步驟 | 柱狀圖 x 軸 / y 軸 翻轉(zhuǎn) | 柱狀圖數(shù)據(jù)標(biāo)簽位置設(shè)置 )

    【Python】pyecharts 模塊 ⑥ ( 繪制柱狀圖 | pyecharts 繪制柱狀圖步驟 | 柱狀圖 x 軸 / y 軸 翻轉(zhuǎn) | 柱狀圖數(shù)據(jù)標(biāo)簽位置設(shè)置 )

    pyecharts 畫廊網(wǎng)站 : https://gallery.pyecharts.org/#/ 在該網(wǎng)站可查看官方示例 首先 , 導(dǎo)入 柱狀圖 Bar 類 , 該類定義在 pyecharts.charts 模塊中 ; 然后 , 創(chuàng)建 柱狀圖 Bar 類型 實(shí)例對(duì)象 , 該對(duì)象代表了一個(gè)柱狀圖 ; 再后 , 設(shè)置該 柱狀圖的 x 軸 和 y 軸數(shù)據(jù) , 調(diào)用 Bar#add_xaxis() 函數(shù) , 設(shè)置 x 軸數(shù)

    2024年02月13日
    瀏覽(27)
  • 探索數(shù)據(jù)之美:初步學(xué)習(xí) Python 柱狀圖繪制

    探索數(shù)據(jù)之美:初步學(xué)習(xí) Python 柱狀圖繪制

    pyecharts 是一個(gè)基于 Echarts 的 Python 圖表庫(kù),它提供了豐富的圖表類型和交互功能??梢允褂檬褂?pyecharts 創(chuàng)建柱狀圖 首先,安裝 pyecharts 庫(kù)。如果沒有安裝,可以使用以下命令安裝: 然后,創(chuàng)建一個(gè)簡(jiǎn)單的柱狀圖: 在這個(gè)示例中,首先導(dǎo)入 pyecharts 的必要模塊。然后,創(chuàng)建一

    2024年02月12日
    瀏覽(17)
  • python如何繪制柱狀圖

    python如何繪制柱狀圖

    安裝兩種插件 柱狀圖繪制步驟 導(dǎo)入 matplotlib.pyplot 模塊 準(zhǔn)備數(shù)據(jù),可以使用 numpy/pandas 整理數(shù)據(jù) 調(diào)用 pyplot.bar() 繪制柱狀圖 上代碼 效果圖 函數(shù)解析 plt.bar() 用于畫柱狀圖,還可以使用 plt.plot() 繪制折線圖 plt.xlabel() plt.ylabel() 用于標(biāo)注x軸、y軸 plt.title() 用于給圖片添加標(biāo)題

    2024年02月11日
    瀏覽(24)
  • Python繪制柱狀圖堆疊圖

    Python繪制柱狀圖堆疊圖

    本文詳細(xì)介紹如何使用 Matplotlib 繪制柱狀堆疊圖 示例:pandas 是基于NumPy 的一種工具,該工具是為了解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。 開始繪制柱狀堆疊圖之前,我們需要生成實(shí)驗(yàn)數(shù)據(jù)。在本案例中,我們可以使用 NumPy 庫(kù)生成兩個(gè)數(shù)組 y1 和 y2 來分別表示產(chǎn)品 A 和 B 在五個(gè)不同城

    2024年02月07日
    瀏覽(27)
  • 保姆級(jí)教程:python讀取并繪制nc數(shù)據(jù)

    保姆級(jí)教程:python讀取并繪制nc數(shù)據(jù)

    2.利用basemap繪圖? ? 3、利用cartopy繪圖 利用cartopy繪圖的詳細(xì)內(nèi)容,可以參考此鏈接: http://t.csdnimg.cn/GjYUb

    2024年02月05日
    瀏覽(18)
  • python繪制柱狀圖,并添加標(biāo)簽

    python繪制柱狀圖,并添加標(biāo)簽

    利用下面的代碼,繪制柱狀圖。 難點(diǎn):繪制標(biāo)簽 bar.get_height() 用于獲取柱子的高度,也就是柱狀圖中每個(gè)柱子的高度值。在上面的代碼中,我們使用這個(gè)高度值來確定要在柱子上方添加的數(shù)據(jù)標(biāo)簽的位置。 具體來說,這行代碼: 將 height 設(shè)置為當(dāng)前柱子的高度。然后,在

    2024年01月18日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包