是否可以使用给定的十六进制代码更改标记的颜色?
代码:
import plotly as px
hydrogen= px.scatter(plot_data,x='Calorific Value (kcal/kg)',y='Hydrogen (%)',title='Hydrogen Plot',
width=800,height=800,hover_name='Lab',color='Hexcode')
我的代码的目标是将标记的颜色更改为其十六进制代码。我认为我的代码有问题。我正在尝试做这样的事情
我想让我的二维图像它的标记颜色一样的十六进制代码。
是的,你可以做到。 假设您的数据具有三列 x、y 和颜色(以十六进制代码表示)。 以下代码已经过测试,可以提供所需的输出。请随意测试一下。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import random
def generate_random_hex_color():
return "#{:06x}".format(random.randint(0, 0xFFFFFF))
# Parameters
num_points = 100
# Generate random data
data = {
'x': np.random.rand(num_points) * 100, # Random x values
'y': np.random.rand(num_points) * 100, # Random y values
'color': [generate_random_hex_color() for _ in range(num_points)] # Random hex colors
}
# Create DataFrame
df = pd.DataFrame(data)
# Plot
plt.figure(figsize=(10, 6))
plt.scatter(df['x'], df['y'], c=df['color'], alpha=0.7, edgecolors='w', s=100)
plt.xlabel('x')
plt.ylabel('y')
plt.title('Scatter Plot with Random Colors')
plt.grid(True)
plt.show()