如何使用十六进制代码更改二维图中的标记颜色?

问题描述 投票:0回答:1

是否可以使用给定的十六进制代码更改标记的颜色?

代码:

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')

Results from the code above

我的代码的目标是将标记的颜色更改为其十六进制代码。我认为我的代码有问题。我正在尝试做这样的事情

Results from the code above

我想让我的二维图像它的标记颜色一样的十六进制代码。

python scatter-plot
1个回答
0
投票

是的,你可以做到。 假设您的数据具有三列 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()

此代码的结果如以下绘图屏幕所示enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.