#python #matplotlib
#python #matplotlib
Вопрос:
Я использовал matplotlib для установки фона изображения для графика. Но цвет кривых в некоторых местах смешивается с фоном. Кто-нибудь может мне помочь уменьшить непрозрачность фона, чтобы фактический график был более заметен. мой код до этого момента —
import pandas as pd
import sys, os
import matplotlib.pyplot as plt
import numpy as np
import itertools
from scipy.misc import imread
def flip(items, ncol):
return itertools.chain(*[items[i::ncol] for i in range(ncol)])
df = pd.read_pickle('neer.pickle')
rows = list(df.index)
countries = ['USA','CHN','JPN','DEU','GBR','FRA','IND','ITA','BRA','CAN','RUS']
x = range(len(rows))
df = df.pct_change()
fig, ax = plt.subplots(1)
for country in countries:
ax.plot(x, df[country], label=country)
plt.xticks(x, rows, size='small', rotation=75)
#legend = ax.legend(loc='upper left', shadow=True)
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)
plt.show(1)
df1 = df[countries]
plt.figure(2)
for country in countries:
my_plot = plt.plot(x, 10*df[country], label=country)
img = imread("world.png")
plt.legend(bbox_to_anchor=(1.05, 1), loc=2, borderaxespad=0.)
plt.imshow(img,zorder=0, extent=[0.1, 30.0, -10.0, 10.0])
plt.set_alpha(0.5)
plt.title('Variation of NEER across the world')
plt.show(2)
Ответ №1:
Вы пробовали что-то вроде:
plt.imshow(img, zorder=0, extent=[0.1, 30.0, -10.0, 10.0], alpha = 0.6)