Class: Google::Apis::SheetsV4::BasicChartSeries

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/sheets_v4/classes.rb,
lib/google/apis/sheets_v4/representations.rb,
lib/google/apis/sheets_v4/representations.rb

Overview

A single series of data in a chart. For example, if charting stock prices over time, multiple series may exist, one for the "Open Price", "High Price", "Low Price" and "Close Price".

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ BasicChartSeries

Returns a new instance of BasicChartSeries.



1238
1239
1240
# File 'lib/google/apis/sheets_v4/classes.rb', line 1238

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#colorGoogle::Apis::SheetsV4::Color

Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to/from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of java.awt.Color in Java; it can also be trivially provided to UIColor's +colorWithRed:green:blue:alpha method in iOS; and, with just a little work, it can be easily formatted into a CSS rgba() string in JavaScript. This reference page doesn't carry information about the absolute color space that should be used to interpret the RGB value (e.g. sRGB, Adobe RGB, DCI-P3, BT.2020, etc.). By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most 1e-5. Example (Java): import com.google.type.Color; // ... public static java. awt.Color fromProto(Color protocolor) float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor. getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); public static Color toProto(java.awt.Color color) float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() . setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) result. setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) . build()); return resultBuilder.build(); // ... Example (iOS / Obj-C): // .. . static UIColor* fromProto(Color* protocolor) float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) alpha = [alpha_wrapper value]; return [UIColor colorWithRed:red green: green blue:blue alpha:alpha]; static Color* toProto(UIColor* color) CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:& blue alpha:&alpha]) return nil; Color* result = [[Color alloc] init]; [ result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha < = 0.9999) [result setAlpha:floatWrapperWithValue(alpha)]; [result autorelease]; return result; // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) return rgbToCssColor(red, green, blue); var alphaFrac = rgb_color.alpha.value || 0. 0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ', ', alphaFrac, ')'].join('');; var rgbToCssColor = function(red, green, blue) var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) resultBuilder. push('0'); resultBuilder.push(hexString); return resultBuilder.join('');; / / ... Corresponds to the JSON property color



1187
1188
1189
# File 'lib/google/apis/sheets_v4/classes.rb', line 1187

def color
  @color
end

#color_styleGoogle::Apis::SheetsV4::ColorStyle

A color value. Corresponds to the JSON property colorStyle



1192
1193
1194
# File 'lib/google/apis/sheets_v4/classes.rb', line 1192

def color_style
  @color_style
end

#data_labelGoogle::Apis::SheetsV4::DataLabel

Settings for one set of data labels. Data labels are annotations that appear next to a set of data, such as the points on a line chart, and provide additional information about what the data represents, such as a text representation of the value behind that point on the graph. Corresponds to the JSON property dataLabel



1200
1201
1202
# File 'lib/google/apis/sheets_v4/classes.rb', line 1200

def data_label
  @data_label
end

#line_styleGoogle::Apis::SheetsV4::LineStyle

Properties that describe the style of a line. Corresponds to the JSON property lineStyle



1205
1206
1207
# File 'lib/google/apis/sheets_v4/classes.rb', line 1205

def line_style
  @line_style
end

#point_styleGoogle::Apis::SheetsV4::PointStyle

The style of a point on the chart. Corresponds to the JSON property pointStyle



1210
1211
1212
# File 'lib/google/apis/sheets_v4/classes.rb', line 1210

def point_style
  @point_style
end

#seriesGoogle::Apis::SheetsV4::ChartData

The data included in a domain or series. Corresponds to the JSON property series



1215
1216
1217
# File 'lib/google/apis/sheets_v4/classes.rb', line 1215

def series
  @series
end

#style_overridesArray<Google::Apis::SheetsV4::BasicSeriesDataPointStyleOverride>

Style override settings for series data points. Corresponds to the JSON property styleOverrides



1220
1221
1222
# File 'lib/google/apis/sheets_v4/classes.rb', line 1220

def style_overrides
  @style_overrides
end

#target_axisString

The minor axis that will specify the range of values for this series. For example, if charting stocks over time, the "Volume" series may want to be pinned to the right with the prices pinned to the left, because the scale of trading volume is different than the scale of prices. It is an error to specify an axis that isn't a valid minor axis for the chart's type. Corresponds to the JSON property targetAxis

Returns:

  • (String)


1229
1230
1231
# File 'lib/google/apis/sheets_v4/classes.rb', line 1229

def target_axis
  @target_axis
end

#typeString

The type of this series. Valid only if the chartType is COMBO. Different types will change the way the series is visualized. Only LINE, AREA, and COLUMN are supported. Corresponds to the JSON property type

Returns:

  • (String)


1236
1237
1238
# File 'lib/google/apis/sheets_v4/classes.rb', line 1236

def type
  @type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
# File 'lib/google/apis/sheets_v4/classes.rb', line 1243

def update!(**args)
  @color = args[:color] if args.key?(:color)
  @color_style = args[:color_style] if args.key?(:color_style)
  @data_label = args[:data_label] if args.key?(:data_label)
  @line_style = args[:line_style] if args.key?(:line_style)
  @point_style = args[:point_style] if args.key?(:point_style)
  @series = args[:series] if args.key?(:series)
  @style_overrides = args[:style_overrides] if args.key?(:style_overrides)
  @target_axis = args[:target_axis] if args.key?(:target_axis)
  @type = args[:type] if args.key?(:type)
end