奇酷教育-Python培训|UI培训|WEB大前端培训|Unity3D培训|HTML5培训|人工智能培训|JAVA开发的教育品牌

您現在所在的位置:首頁 >關于奇酷 > 行業動態 > 4個Python庫來美化你的Matplotlib圖表!

4個Python庫來美化你的Matplotlib圖表!

來源:奇酷教育 發表于:

4個Python庫來美化你的Matplotlib圖表!

  4個Python庫來美化你的Matplotlib圖表!
 
  
 
  而且每個方法都可以使用兩行代碼來實現,一條import語句和一條Matplotlib的使用語句。 
 
  盡管這些庫非常適合創建酷炫的圖表,但是你還是需要了解你的目標受眾以及可能遇到的視覺問題,比如色盲等情況。
 
  下面就讓我們來一起看看吧!
 
  在開始使用探索Matplotlib圖表之前,先創建一些虛擬數據,用來生成圖表。 
 
  幾行代碼輕松搞定。
 
  import numpy as np 
 
  # 生成 x 值
 
  x = np.linspace( 0 , 10 , 20 ) 
 
  # 生成 y 值
 
  y = np.sin(x) 
 
  y2 = np.cos(x)
 
 
 
  01 賽博朋克風格——mplcyberpunk
 
  賽博朋克是一種科幻小說的子類型,以其反烏托邦、技術先進的世界和反文化態度而聞名。
 
  場景通常以未來主義風格描繪,經常包括霓虹燈及明亮、鮮艷的色彩等元素。
 
  
 
  比如,在制作海報或者是信息圖表時,你需要額外的元素來吸引讀者。這便是賽博朋克風格可以發揮作用的地方。
 
  但是,你也要知道,它在為出版物創建圖表或在論文中使用時可能會被視為不專業,并且可能不適合視覺有問題的讀者。
 
  
 
  要開始使用這個主題,需要先安裝mplcyberpunk庫。
 
  # 安裝
 
  pip install mplcyberpunk
 
  使用賽博朋克主題,只需要調用plt.style.use(),并傳入參數cypberpunk即可。
 
  使用plt.scatter()繪制散點圖。為了使我們的散點發光,還需要調用make_scatter_glow()函數。
 
  import mplcyberpunk
 
  import matplotlib.pyplot as plt
 
  # 使用賽博朋克風樣式
 
  plt.style.use('cyberpunk')
 
  plt.figure(figsize=(8, 8))
 
  # 散點圖1
 
  plt.scatter(x, y, marker='o')
 
  mplcyberpunk.make_scatter_glow()
 
  # 散點圖2
 
  plt.scatter(x, y2, marker='o', c='lime')
 
  mplcyberpunk.make_scatter_glow()
 
  # 坐標軸名稱
 
  plt.xlabel('X-Axis')
 
  plt.ylabel('Y-Axis')
 
  # 顯示
 
  plt.show()
 
  運行上面的代碼時,可以得到下圖。
 
  
 
  將賽博朋克主題應用到折線圖中。為了使線條發光,我們可以調用make_lines_glow()。
 
  # 使用賽博朋克風樣式
 
  plt.style.use('cyberpunk')
 
  plt.figure(figsize=(8, 8))
 
  # 折線圖
 
  plt.plot(x, y, marker='o')
 
  plt.plot(x, y2, marker='o', c='lime')
 
  # 發光效果
 
  mplcyberpunk.make_lines_glow()
 
  # 坐標軸名稱
 
  plt.xlabel('X-Axis')
 
  plt.ylabel('Y-Axis')
 
  # 顯示
 
  plt.show()
 
  運行完成,將返回帶有霓虹燈線條的圖表。
 
  
 
  我們還可以將圖表效果更進一步,在線條和X軸之間添加漸變填充。
 
  # 使用賽博朋克風樣式
 
  plt.style.use('cyberpunk')
 
  plt.figure(figsize=(8, 8))
 
  # 折線圖
 
  plt.plot(x, y, marker='o')
 
  plt.plot(x, y2, marker='o', c='lime')
 
  # 發光效果+漸變填充
 
  mplcyberpunk.add_gradient_fill(alpha_gradientglow=0.5, gradient_start='zero')
 
  # 坐標軸名稱
 
  plt.xlabel('X-Axis')
 
  plt.ylabel('Y-Axis')
 
  # 顯示
 
  plt.show()
 
  這便創造了一個非常有趣的效果。
 
  
 
  當然這個賽博朋克庫還有其他的美化參數,大家可以去GitHub上查看使用。
 
  
 
  地址:https://github.com/dhaitz/mplcyberpunk
 
 
 
  02 Matplotx
 
  matplotx庫提供了一種簡單的方法可以快速對matplotlib圖表進行美化。
 
  它包含幾個可以便捷使用,且可應用于任何matplotlib圖表的主題。 
 
  在深色主題的Jupyter Notebook或VSCode中處理圖表時,出現亮白色的圖表可能會有些許刺眼。 
 
  為了減少這種影響,我們可以將樣式設為深色主題。但是,這需要好幾行代碼才能實現。 
 
  正如接下來所看到的,Matplotx使這個過程變得更加容易。由于它包含多個主題,我們可以輕松找到一個與VSCode主題相匹配的。 
 
  通過打開終端/命令提示符并運行以下命令,可以將Matplotx安裝到你的Python環境中去。
 
  # 安裝
 
  pip install matplotx
 
  安裝好以后,可以使用with語句來調用plt.style.context和傳入matplotx.styles。
 
  在這里,我們可以選擇眾多的可用主題。 比如非常流行的Dracula主題。
 
  import matplotx
 
  with plt.style.context(matplotx.styles.dracula):
 
      # 散點圖
 
      plt.scatter(x, y, c=y2)
 
      # 顏色類型
 
      plt.colorbar(label='Y2')
 
      # 坐標軸名稱
 
      plt.xlabel('X')
 
      plt.ylabel('Y')
 
      # 顯示
 
      plt.show()
 
  運行代碼,得到下圖。
 
  
 
  其中matplotx中有許多不同的樣式,具體情況如下。
 
  
 
  下面讓我們用Pitaya Smoothie主題來創建一個折線圖。
 
  由于有多個子主題,我們需要使用方括號訪問它們。
 
  在這個例子中,我們有一個深色主題,所以我們需要傳入「dark」參數才能使用。
 
  with plt.style.context(matplotx.styles.pitaya_smoothie['dark']):
 
      # 折線圖
 
      plt.plot(x, y, marker='o')
 
      plt.plot(x, y2, marker='o')
 
      # 坐標軸名稱
 
      plt.xlabel('X')
 
      plt.ylabel('Y')
 
      # 顯示
 
      plt.show()
 
  當我們運行上面的代碼時,我們會得到下面這個折線圖。
 
  
 
  當然也有許多淺色主題。比如Pitaya Smoothie有一個,可以像這樣使用。
 
  with plt.style.context(matplotx.styles.pitaya_smoothie['light']):
 
  
 
  如果你想了解更多有關此庫的信息,可以查看它的GitHub。
 
  地址:https://github.com/nschloe/matplotx
 
 
 
  03 量子黑色風格
 
  QuantumBlack Labs是一家成立于2012年的公司,旨在幫助其他公司使用數據做出更好的決策。
 
  他們使用機器學習和人工智能等先進技術來分析醫療保健、金融和交通等一系列行業的復雜數據集。
 
  幾年前,他們在GitHub上發布了自己的樣式庫。
 
  地址:
 
  https://github.com/quantumblacklabs/qbstyles
 
  要使用該主題,我們需要安裝這個Python庫。
 
  # 安裝
 
  pip install qbstyles
 
  安裝好以后,就可以使用了~
 
  from qbstyles import mpl_style
 
  # 深色主題開
 
  mpl_style(dark=True)
 
  # 深色主題關
 
  mpl_style(dark=False)
 
  來創建一個散點圖,代碼如下。
 
  from qbstyles import mpl_style
 
  # 深色主題
 
  mpl_style(dark=True)
 
  # 非深色主題
 
  mpl_style(dark=False)
 
  # 散點圖
 
  plt.scatter(x, y, c=y2)
 
  # 顏色
 
  plt.colorbar(label='Y2')
 
  # 坐標軸名稱
 
  plt.xlabel('X')
 
  plt.ylabel('Y')
 
  # 顯示
 
  plt.show()
 
  返回如下兩種圖表結果,具體取決于你選擇的是淺色還是深色主題。
 
  
 
  
 
  讓我們看看深色主題的折線圖是什么樣子的。
 
  # 深色主題
 
  mpl_style(dark=True)
 
  # 折線圖
 
  plt.plot(x, y, marker='o')
 
  plt.plot(x, y2, marker='o')
 
  # 坐標軸名稱
 
  plt.xlabel('X')
 
  plt.ylabel('Y')
 
  # 顯示
 
  plt.show()
 
  當我們運行上面的代碼時,我們會得到下面的圖。
 
  
 
  這個庫的繪圖樣式與Matplotx中生成的繪圖相比略有緩和。
 
  但是,它確實感覺更專業一些,尤其是淺色主題的繪圖。非常適合應用在專業演示或培訓課程材料中。
 
 
 
  04 科學圖表
 
  在撰寫科學期刊或會議文章時,創建一個清晰、簡單且易于解釋的圖表至關重要。
 
  一些期刊,例如Nature,都是需要固定的樣式,方便簡化讀者難以理解的圖表。 
 
  這就是SciencePlots庫的用武之地。 它經常被用于生成常見的科學期刊樣式圖表,從而使創建圖表變得更加容易。 
 
  這個庫的一大優點是它使圖表適合黑白打印——這仍然是研究人員的普遍做法。通過更改線條樣式或確保分類數據的散點圖上有不同的形狀,這將使得線條很容易區分。 
 
  如果您想探索SciencePlots中更多可用的樣式,可以訪問它的GitHub。
 
  地址:
 
  https://github.com/garrettj403/SciencePlots/wiki/Gallery
 
  運行SciencePlots庫需要在你的電腦上安裝LaTeX。你可以下面的地址找到有關 LaTex以及如何安裝等更多詳細信息。 
 
  地址:https://www.latex-project.org/get/
 
  在完成庫的安裝及LaTeX設置完成后,可以使用下面的代碼創建一個科學繪圖圖表。
 
  import scienceplots
 
  with plt.style.context(['science', 'high-vis']):
 
      # 新建畫布
 
      plt.figure(figsize=(6, 6))
 
      # 折線圖
 
      plt.plot(x, y, marker='o', label='Line 1')
 
      plt.plot(x, y2, marker='o', label='Line 2')
 
      # 坐標軸名稱
 
      plt.xlabel('X')
 
      plt.ylabel('Y')
 
      # 圖例
 
      plt.legend()
 
      # 顯示
 
      plt.show()
 
  當我們運行上面的代碼時,我們得到以下圖表,這非常適合使用在期刊出版物中。
 
  
 
  讓我們看看IEEE風格是什么樣的。我們可以通過修改參數來創建一個。
 
  with plt.style.context(['science', 'ieee']):
 
  和上面的有點不一樣,顏色也變了,但還是一個很好看的科學期刊圖表。
 
  
 
  這對于搞學術研究的同學幫助非常大。
 
  通過使用SciencePlots,不再為調整大小、顏色和線條樣式而煩惱。 
主站蜘蛛池模板: 青岛美佳乐清洁工程有限公司|青岛油烟管道清洗|酒店|企事业单位|学校工厂厨房|青岛油烟管道清洗 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 尾轮组_头轮组_矿用刮板_厢式刮板机_铸石刮板机厂家-双驰机械 | 胀套-锁紧盘-风电锁紧盘-蛇形联轴器「厂家」-瑞安市宝德隆机械配件有限公司 | 常州律师事务所_常州律所_常州律师-江苏乐天律师事务所 | 多功能三相相位伏安表-变压器短路阻抗测试仪-上海妙定电气 | 锂电叉车,电动叉车_厂家-山东博峻智能科技有限公司 | 进口便携式天平,外校_十万分之一分析天平,奥豪斯工业台秤,V2000防水秤-重庆珂偌德科技有限公司(www.crdkj.com) | 防火阀、排烟防火阀、电动防火阀产品生产销售商-德州凯亿空调设备有限公司 | 冷水机,风冷冷水机,水冷冷水机,螺杆冷水机专业制造商-上海祝松机械有限公司 | 耐力板-PC阳光板-PC板-PC耐力板 - 嘉兴赢创实业有限公司 | 加盟店-品牌招商加盟-创业项目商机平台 | 短信营销平台_短信群发平台_106短信发送平台-河南路尚 | 工控机-图像采集卡-PoE网卡-人工智能-工业主板-深圳朗锐智科 | 天津货架厂_穿梭车货架_重型仓储货架_阁楼货架定制-天津钢力仓储货架生产厂家_天津钢力智能仓储装备 | 锤式粉碎机,医药粉碎机,锥式粉碎机-无锡市迪麦森机械制造有限公司 | 杭州可当科技有限公司—流量卡_随身WiFi_AI摄像头一站式解决方案 | 吸音板,隔音板,吸音材料,吸音板价格,声学材料 - 佛山诺声吸音板厂家 | 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 传爱自考网_传爱自学考试网 | 宜兴市恺瑞德环保科技有限公司| 烟雾净化器-滤筒除尘器-防爆除尘器-除尘器厂家-东莞执信环保科技有限公司 | 120kv/2mA直流高压发生器-60kv/2mA-30kva/50kv工频耐压试验装置-旭明电工 | 盐城网络公司_盐城网站优化_盐城网站建设_盐城市启晨网络科技有限公司 | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 合肥弱电工程_安徽安防工程_智能化工程公司-合肥雷润 | RV减速机-蜗轮蜗杆减速机-洗车机减速机-减速机厂家-艾思捷 | 【灵硕展览集团】展台展会设计_展览会展台搭建_展览展示设计一站式服务公司 | 煤粉取样器-射油器-便携式等速飞灰取样器-连灵动 | 武汉高低温试验机-现货恒温恒湿试验箱-高低温湿热交变箱价格-湖北高天试验设备 | 小型UV打印机-UV平板打印机-大型uv打印机-UV打印机源头厂家 |松普集团 | 企小优-企业数字化转型服务商_网络推广_网络推广公司 | 大行程影像测量仪-探针型影像测量仪-增强型影像测量仪|首丰百科 大通天成企业资质代办_承装修试电力设施许可证_增值电信业务经营许可证_无人机运营合格证_广播电视节目制作许可证 | 桂林腻子粉_内墙外墙抗裂砂浆腻子粉推荐广西鑫达涂料厂家供应 | 福建珂朗雅装饰材料有限公司「官方网站」 | 德州网站制作 - 网站建设设计 - seo排名优化 -「两山建站」 | 铁素体测量仪/检测仪/铁素体含量测试仪-苏州圣光仪器有限公司 | MVE振动电机_MVE震动电机_MVE卧式振打电机-河南新乡德诚生产厂家 | 比亚迪叉车-比亚迪电动叉车堆垛车托盘车仓储叉车价格多少钱报价 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 校服厂家,英伦校服定做工厂,园服生产定制厂商-东莞市艾咪天使校服 | 深圳市宏康仪器科技有限公司-模拟高空低压试验箱-高温防爆试验箱-温控短路试验箱【官网】 | 乐考网-银行从业_基金从业资格考试_初级/中级会计报名时间_中级经济师 |